mysql_real_escape_string()出错

时间:2018-02-01 08:07:47

标签: php mysql

所以我正在运行此链接中的代码进行测试,试图了解会话的工作原理。 https://www.formget.com/login-form-in-php/

我收到一条错误消息

  

致命错误:未捕获错误:调用未定义的函数   mysql_real_escape_string()in:20堆栈跟踪:#0   :include()#1 {main}投放在第20行

它与mysql_real_escape_string()文件中的login.php有关,但我不确定它有什么问题。因为它可以防止MySQL注入,所以自从教程发布以来,这个函数是否被重命名了?

编辑:这不是重复,因为我不是在问如何防止MySQL注入,我问的是该函数是否已被删除

1 个答案:

答案 0 :(得分:1)

mysql_自5.5以来已被弃用:

自PHP 5.5以来,不推荐使用mysql扩展。应该使用mysqli或PDO扩展名。已经在mysql_deprecation中决定了弃用,可以找到有关此决定背后原因的讨论。

并在PHP 7中删除。

mysql_real_escape_string()是MySQL函数“batch”的标准部分,如果正确加载扩展名,它应该始终有效。

是否有其他mysql_函数有效? (它不应该)

确保您在php.ini中取消注释此行:

extension=mysql.so

同样明智的做法是使用mysqli或PDO(不推荐使用mysql_),他们都可以为你逃避。