PHP MySQL更新查询不工作(未返回行)
在PHP中使用MySQL函数的PHP MySQL更新查询不工作(未返回行),php,mysql,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 a
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();
我尝试将相同的查询(使用实际列的值)放在我的工作台中,结果很好(至少查询返回1个结果行)。那么,知道问题出在哪里了吗?不要使用
mysql\u受影响的行
来指示用户被此查询激活
如果用户不存在或用户已被激活(activate=1),它将返回0
:
使用UPDATE时,MySQL不会更新包含新值的列
与旧值相同。这就产生了这样一种可能性:
mysql_infected_rows()实际上可能不等于行数
匹配,仅受
询问
如果这是一个新的应用程序,您不应该使用
mysql\u query
,并且必须使用所有值。请进行一些调试。首先将UPDATE语句分配给变量$sql=“UPDATE…”代码>然后回显它回显$sql
。如果将列设置为其已有的值,则该值将计为受影响的0行。因此,请确保您正在更新尚未具有activate=1
的行。您是对的。你和酒吧招待是对的。我试图用相同的值更新列值,因此函数mysql\u impact\u rows返回0。非常感谢你。谢谢大家的回答。