所以我正在运行此链接中的代码进行测试,试图了解会话的工作原理。 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注入,我问的是该函数是否已被删除
答案 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_),他们都可以为你逃避。