0

我在使用UPDATEPHP 中的 MySQL 函数的查询时遇到了麻烦。我没有犯任何语法错误,但它根本不返回任何行(我正在回显结果行,它总是说 0)。我的代码如下:

mysql_query("UPDATE wecode.users SET activate = 1 WHERE username = '$username' AND password = '$password' AND email = '$email'", $connection)
or die ("Troubles activating the account ".mysql_error());
return mysql_affected_rows();

我尝试在我的工作台中放置相同的查询(使用实际列的值),它工作正常(至少查询返回 1 个结果行)。那么,知道问题出在哪里吗?

4

1 回答 1

1

不要mysql_affected_rows用于表示用户已被此查询激活。

如果用户不存在或用户已被激活 ( activate=1 ),它将返回 0。

PHP 手册 - mysql_affected_rows

使用 UPDATE 时,MySQL 不会更新新值与旧值相同的列。这会导致 mysql_affected_rows() 实际上可能不等于匹配的行数,而只是实际受查询影响的行数。

于 2013-05-24T03:08:07.253 回答