这将有助于我理解循环如何工作
假设我有数据库表my_table (id,words)
,这里是数据库
INSERT INTO `my_table` VALUES (1,'hello manal');
INSERT INTO `my_table` VALUES (2,'nice manal');
INSERT INTO `my_table` VALUES (3,'pretty manal');
现在想象出100,000个条目(巨大的)并且我想将单词manal重复为jack并给我结果每一行逐一改变
我会用
$conn = mysql_connect('localhost','USER','PASS') or die(mysql_error());
mysql_select_db('my_table',$conn);
$sql = "SELECT * from my_table";
$result = mysql_query($sql,$conn);
while ($row = mysql_fetch_array($result)){
$old = $row['words'];
$id = $row['id'];
$new="jack";
$new = str_replace("manal", "$new", $old);
echo $new;
}
循环
通过该代码,它将同时工作,这是我的托管服务器不可能应用所有所以我想让它作为循环!我的意思是它将更改第一个数据库行然后给我结果echo $new;
然后更改第二个数据库行然后给出结果echo $new;
,依此类推,直到最后一行没有停止。
所以我的重要部分是逐一获得结果〜谢谢
答案 0 :(得分:2)
问题是你的输出被缓冲了,这就是为什么你同时看到所有结果(在脚本执行结束时)。
您可以在ob_flush(); flush();
之前的循环中添加echo $new;
,看看是否有帮助。无论如何,上面的例子将很快执行,因此它不会很容易阅读!
答案 1 :(得分:1)
您最好在数据库中替换它,然后将其打印出来。
$sql = "UPDATE my_table SET words = REPLACE(words, 'manal', 'jack')";