我遇到了一个查询问题,该查询应该"将用户排名为3",但在MySQL中,它给了用户X排名0。
这是代码
if($_POST['rank'] == '3')
{
mysql_query("UPDATE users SET rank='3' AND LPT='1' where username='".$_post['u_name']."' LIMIT 1")or die(mysql_error());
$query = true;
}
等待答案
更新多列时使用逗号而不是AND
:
UPDATE users
SET rank='3',
LPT='1'
where username= ?
您应该:
- 使用参数化查询而不是串联SQL字符串
$_post
是超全局的,必须是大写的$_POST
- 参考:http://php.net/manual/en/language.variables.superglobals.php
附加参考:
- 更新http://dev.mysql.com/doc/refman/5.7/en/update.html