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


MySQL update not updating all rows (using php)

我正在尝试更新我的值,但发生了一些奇怪的事情,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上运行它,也许它与会话有关,因为我试图更新的一行是我登录的管理员用户。特别感谢MikeB的回复。

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

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

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

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

您也可以尝试在mysql控制台上运行这个查询,看看会发生什么。如果有效,可能错误在于您的操作方式。