我在使用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结果行)。那么,任何想法是什么问题?
答案 0 :(得分:1)
请勿使用mysql_affected_rows
表示此查询已激活用户。
如果用户不存在或用户已被激活( activate = 1 ),它将返回0。
PHP Manual - mysql_affected_rows:
使用UPDATE时,MySQL不会更新新值的列 与旧值相同。这创造了这样的可能性 mysql_affected_rows()实际上可能不等于行数 匹配,只有受字面意义影响的行数 查询。