【问题标题】:PHP | MySQLi : How to echo statement while WHILE-LOOP is runningPHP | MySQLi:如何在 WHILE-LOOP 运行时回显语句
【发布时间】:2015-12-16 08:48:58
【问题描述】:

也许是个愚蠢的问题,

我有一个脚本,它在 WHILE 循环中循环遍历 1000 行。在每次传递中都会触发一个 MySQLi 更新查询,因此脚本需要很长时间才能运行(10 分钟以上)。 (这是在本地主机上)

在循环中,我有一个 ECHO,但直到整个脚本运行完毕后,这些值才会显示出来。我需要在运行时在屏幕上打印回声。

有没有办法强制它在每次传递时回显一个值?最后不要全部做。

【问题讨论】:

  • 了解 PHP 缓冲区和刷新缓冲区 - 这应该有助于 stackoverflow.com/questions/4191385/…
  • 我试过搜索它,但没有运气。 OB_START 似乎是正确的。谢谢你。我已经尝试过了,但似乎对我不起作用。
  • 所以我把 ob_start() 放在 WHILE-LOOP 之前。在循环内部我有一个 ECHO 并且在 echo 之后我有 ob_clean() (也尝试过 ob_flush )。反正。不工作,但我至少知道现在要研究什么。我会继续努力。再次感谢

标签: php mysqli while-loop


【解决方案1】:

取自this

你可以像这样使用输出缓冲:

ob_start();

echo('doing something...');

// send to browser
ob_flush();

// ... do long running stuff
echo('still going...');

ob_flush();

echo('done.');
ob_end_flush();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    • 2012-08-12
    • 2016-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多