gpt4 book ai didi

php - mysql_escape_string() 有什么作用?

转载 作者:行者123 更新时间:2023-11-29 01:23:12 27 4
gpt4 key购买 nike

mysql_escape_string() 有什么作用?我正在更新数据库。当我使用 $_POST('variable')它没有得到更新,但是将它与 mysql_escape_string($_POST()) 一起使用它工作正常。我通过 ajax 调用它。

最佳答案

mysql_escape_string是 PHP mysql 扩展函数之一。它转义作为函数参数提供的字符串。 Escapes 表示在特殊字符前添加反斜杠 (\)

  • mysql_escape_string 设计用于 mysql_query函数,安全地将 MySQL 查询参数传递给查询。 安全 意味着不可能影响和更改所需的查询行为。通过搜索“sql injection”了解更多信息,例如Secure Development Guidelines在 MDN 上。
  • 使用 mysql_escape_string 转义的
  • 特殊字符 是:空字节 (0)、换行符 (\n) , 回车 (\r), 反斜杠 (\), 单引号 ('), 双引号 (") 和替换(SUB,或 \032)。%_ 不会使用此函数进行转义.
  • mysql_escape_string 自 PHP 5.3.0 起已弃用。它应该替换为 mysql_real_escape_string函数,除了转义字符串外,还考虑了连接的当前字符集。
  • 不鼓励同时使用 mysql_escape_stringmysql_real_escape_string MySQLi 的推荐替代品或 PDO_MySQL扩展名。

在您的情况下,$_POST('variable') 不起作用的最可能原因是它包含一个或多个特殊字符,因此您正在执行的 MySQL 查询被无意中改变和破坏。您正在使用 AJAX 调用它,如果您不处理 AJAX 错误,您可能看不到错误消息。

关于php - mysql_escape_string() 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11271817/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com