$result53543534 = mysql_query("UPDATE users SET credit=credit+1 WHERE email= '{$battle_get['username']}'")
or die(mysql_error());
但是没有更新。检查了$battle_get['username']
和用户名在那里。我没有得到任何错误或任何东西只是没有添加...
任何帮助都将是非常好的提前感谢
$result53543534 = mysql_query("UPDATE users SET credit=credit+1 WHERE email= '{$battle_get['username']}'")
or die(mysql_error());
但是没有更新。检查了$battle_get['username']
和用户名在那里。我没有得到任何错误或任何东西只是没有添加...
任何帮助都将是非常好的提前感谢
7条答案
按热度按时间u4vypkhs1#
查看
mysql_affected_rows()
的结果:我的语法可能不完全正确,但我希望你能理解。如果结果是0,那么你就没有指定
WHERE
语法,这样它实际上就引用了任何行。如果结果大于0,那么如果你认为它没有影响任何行,那你就错了。它可能没有影响你认为应该影响的行,但这是另一个问题。
此外,
echo
您的sql语句,这样您就可以实际看到它在做什么。igsr9ssn2#
尝试测试
jfewjypa3#
您忘记了将查询提交到数据库,请尝试事务
watbbzwu4#
我建议将代码改为如下所示,它将允许您检查sql查询。尝试测试sql查询,看看它是否能运行。您可能还想在mysql控制台上运行DESCRIBE用户,看看您得到了什么样的信息。
f87krz0w5#
在连接中向用户授予UPDATE权限。用户可以执行SELECT和INSERT操作,并不意味着他们也可以自动执行UPDATE操作,您需要显式地向他们授予UPDATE权限。另外,mysql_error()不会显示任何错误,因为您的SQL语句是正确的,因此不会显示任何错误。
vvppvyoh6#
我也遇到了同样的事情,我首先在MySQL Workbench上重现了它,然后使用了那里的SQL语句,我发现(不知道为什么)在
WHERE
子句后添加括号可以正常工作:pkln4tw67#
请检查您是否在所有输入字段中提及name=email和name=password属性,如果输入了name=submit,请在submit中提及。