PHP MySQL UPDATE查询不起作用(没有返回行)

时间:2013-05-24 02:03:07

标签: php mysql

我在使用PHP中的MySQL函数的UPDATE查询时遇到了麻烦。我没有做任何语法错误,但它只是不返回任何行(我回显结果行,它总是说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();

我尝试在我的Workbench中使用相同的查询(使用实际列的值),并且它工作正常(至少查询返回1结果行)。那么,任何想法是什么问题?

1 个答案:

答案 0 :(得分:1)

请勿使用mysql_affected_rows表示此查询已激活用户。

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

PHP Manual - mysql_affected_rows

  

使用UPDATE时,MySQL不会更新新值的列   与旧值相同。这创造了这样的可能性   mysql_affected_rows()实际上可能不等于行数   匹配,只有受字面意义影响的行数   查询。