一尘不染

mysql_real_escape_string未定义

mysql

我正在使用PHP版本5.3并尝试mysql_real_escape_string($unescaped_string)在我的代码中使用,但是出现错误:

Fatal error: Call to undefined function mysql_real_escape_string() 
in /var/www/engine/database.php on line 38

我仍然可以连接到数据库。为什么不可用?

我正在使用PHP版本5.3。


阅读 314

收藏
2020-05-17

共1个答案

一尘不染

更新 中提到的评论mysql_一直以来5.5弃用

自PHP
5.5起不推荐使用mysql扩展。应该改用mysqli或PDO扩展名。否决已在mysql_deprecation确定,可以在此找到对该决定背后原因的讨论。

在PHP 7中删除


mysql_real_escape_string()MySQL函数“批处理”的标准部分,如果扩展名正确加载,它应该始终可以正常工作。

还有其他mysql_功能吗?(不应该)

确保在您的中未注释此行php.ini

extension=mysql.so

同样明智的做法是使用mysqliPDO代替(mysql_已弃用),它们俩都可以为您进行转义。

2020-05-17