查询不';无法在mySql中正确更新


Query doesn't update correctly in mySql

我遇到了一个查询问题,该查询应该"将用户排名为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= ?

您应该:

  1. 使用参数化查询而不是串联SQL字符串
  2. $_post是超全局的,必须是大写的$_POST
    • 参考:http://php.net/manual/en/language.variables.superglobals.php

附加参考:

  • 更新http://dev.mysql.com/doc/refman/5.7/en/update.html