mysql_escape_string()
做什么?我正在更新数据库。当我使用$_POST('variable')
时
它没有得到更新,但与mysql_escape_string($_POST())
一起使用它可以正常工作。我是用ajax来调用它的。
答案 0 :(得分:6)
mysql_escape_string
是PHP mysql扩展函数之一。它转义为作为函数参数提供的字符串。 Escapes 表示将反斜杠(\
)添加到特殊字符。
mysql_escape_string
旨在与mysql_query
函数一起使用,以便将MySQL查询参数安全地传递给查询。 安全表示,不可能影响和更改所需的查询行为。通过搜索“sql注入”了解更多信息,例如: MDN上的Secure Development Guidelines。mysql_escape_string
转义的0
),换行符(\n
),回车符(\r
) ,反斜杠(\
),单引号('
),双引号("
)和替代品(SUB
或\032
)。 %
和_
未使用此功能进行转义。mysql_escape_string
已被弃用。它应该替换为mysql_real_escape_string
函数,该函数除了转义字符串外,还考虑了连接的当前字符集。mysql_escape_string
和mysql_real_escape_string
。在您的情况下,$_POST('variable')
不起作用的最可能原因是它包含一个或多个特殊字符,因此您正在执行的MySQL查询无意中被更改和破坏。您正在使用AJAX调用它,如果您没有处理AJAX错误,则可能无法看到错误消息。