MySQL更新没有更新所有行(使用php)

时间:2012-07-18 14:13:31

标签: php mysql

我正在尝试更新我的值并发生一些奇怪的事情,MySQL似乎是在自己的自由意志中更新行。这是我做的事情

UPDATE accountsTable SET Status = 'TerminatedProfile' WHERE id IN (1,2,3)

即使我多次运行代码,它也会更新一行或两行而不是全部3行。如果我接受这个查询并通过phpmyadmin运行它可以正常工作。 php的mysql实现有什么问题吗?

我正在使用

mysql_connect("$host", "$user", "$password")or die("cannot connect"); 
mysql_select_db("$db")or die("cannot select DB"); 
mysql_query($query2);

更新: 我在Joomla上运行它,也许它与session有关,因为我试图更新的行之一是我登录的管理员用户。特别感谢MikeB的回复。

1 个答案:

答案 0 :(得分:1)

如果没有完整的代码或者应用了$ query2,很难知道发生了什么。

但您可以尝试不使用列表来更新这些行。尝试:

UPDATE accountsTable SET Status = 'TerminatedProfile' WHERE id = 1 AND id = 2 AND id = 3

只是为了确定问题是否在$ query2所在的位置。

您也可以尝试在mysql控制台上运行此查询,看看会发生什么。如果有效,可能错误在于你是如何做的。