mysql_real_escape_string未定义

Mic*_*elH 11 php mysql ubuntu

我使用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
Run Code Online (Sandbox Code Playgroud)

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

我使用的是PHP 5.3版.

Vyk*_*tor 18

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

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

在PHP 7中删除.


mysql_real_escape_string()MySQL函数"批处理"的标准部分,如果正确加载扩展名,它应该始终有效.

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

确保您在以下位置取消注释此行php.ini:

extension=mysql.so
Run Code Online (Sandbox Code Playgroud)

使用mysqliPDO代替(mysql_被弃用)也是明智之举,他们都可以为你逃避.


小智 6

在我的情况下,我使用mysqli_real_escape_string而不是mysql_real_escape_string.