我在MySQL中有一个基于堆的表,我试图通过PHP更新,但出于某种原因,更新似乎没有发生。
这是我的测试代码:
<?php
$freepoints[] = 1;
$freepoints[] = 2;
$freepoints[] = 3;
foreach ($freepoints as $entrypoint) {
$query = "update gates set lane='{$entrypoint}' where traffic > 50 limit 50";
echo "$query\n";
mysql_query($query);
echo mysql_affected_rows()."\n";
}
?>
这输出以下内容:
update gates set lane='1' where traffic > 50 limit 50
50
update gates set lane='2' where traffic > 50 limit 50
50
update gates set lane='3' where traffic > 50 limit 50
50
在数据库中以车道1/2/3开始有0条记录,车道4/5/6有100条记录。由此我预计所有6个车道现在每个都有50个记录。然而,当我看到车道4/5/6仍然有100条记录而1/2/3仍然有0条记录。
当我将查询“update gates set lane ='1',其中流量&gt; 50限制50”复制到phpMyAdmin时,它的工作非常正常,所以当mysql_affected_rows说它时,为什么它在我的PHP脚本中不起作用的任何想法已更新50条记录?
答案 0 :(得分:1)