【问题标题】:how to upadate field in database?如何更新数据库中的字段?
【发布时间】:2013-10-10 20:50:57
【问题描述】:

我的代码不起作用,可能是因为 where 语句。请帮我看看这行代码有什么问题。

查询:

mysql_query("UPDATE tblceas_vote SET fldpassword= $three WHERE fldstudno =$login");

【问题讨论】:

  • 你确定变量的值吗?它们不可能是空的?
  • 顺便了解一下SQL injections和密码哈希(例如bcrypt)。

标签: php mysql sql escaping mysql-real-escape-string


【解决方案1】:

引用可能会有所帮助:

mysql_query("UPDATE tblceas_vote SET fldpassword= '$three' WHERE fldstudno ='$login'");

否则正确的方法是使用转义: http://php.net/manual/en/function.mysql-real-escape-string.php

【讨论】:

  • 不要使用l'arrosoir作为密码
【解决方案2】:

加单引号或转义字符串:

mysql_query("UPDATE tblceas_vote SET fldpassword='$three' WHERE fldstudno='$login'");

或者

mysql_query("UPDATE tblceas_vote SET fldpassword='".$three."' WHERE fldstudno='".$login."'");

另请注意,MYSQL 已弃用,您应该改用 MySQLi 或 PDO。

【讨论】:

    【解决方案3】:

    我同意。查询中的文本肯定需要引用。 另外我建议你“逃避”你的内容(看看 mysqli_real_escape_string)。

    如果您在字符串中遇到“引号”,它将破坏您的查询,除非您将其转义。

    【讨论】:

      猜你喜欢
      • 2019-10-11
      • 1970-01-01
      • 1970-01-01
      • 2021-03-04
      • 2022-09-25
      • 2019-07-03
      • 2020-05-31
      • 2014-08-19
      • 1970-01-01
      相关资源
      最近更新 更多