gpt4 book ai didi

PHP MySQL奇怪的更新问题

转载 作者:行者123 更新时间:2023-11-29 15:03:57 26 4
gpt4 key购买 nike

我在 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 个 channel 现在每个都有 50 条记录。然而,当我查看车道 4/5/6 仍然有 100 条记录,而 1/2/3 仍然有 0 条记录。

当我将查询“updategatessetlane='1'wheretraffic>50limit50”复制到phpMyAdmin时,它工作得非常好,所以当mysql_affected_rows说它有时它在我的PHP脚本中不起作用的任何想法更新了 50 条记录?

最佳答案

  1. 添加 ORDER BY 子句
  2. 你总是用相同的数据重写。您需要使用 Lane 指定 WHERE 来更新其他行

关于PHP MySQL奇怪的更新问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2551639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com