PHP mysql_real_escape_string()返回`NULL`

Dav*_*ell 1 php

我正在使用PHP版本5.1.6并试图从我的$_GET数组中转义查询字符串.但是我的脚本NULL在它被转义后返回了.

它似乎mysql_escape_string()工作正常,但它已被弃用,所以我不想使用它.

检查过phpinfo()MySQL lib后,我可以看到所有内容.以前有没有人经历过这种事情?

$term = $_GET['q'];

var_dump($term); // string(7) "richard" 
echo "<br />";

$sterm = mysql_real_escape_string($term, $db);

var_dump($sterm); // NULL 
Run Code Online (Sandbox Code Playgroud)

这对我来说很奇怪,我无法想象为什么这个功能不起作用.

Pek*_*ica 11

你确定你的MySQL连接正在运行吗?这是工作的要求mysql_real_escape_string():

注意:在使用之前需要MySQL连接,mysql_real_escape_string()否则E_WARNING会生成级别错误,并FALSE返回.如果$link_identifier未定义,则使用最后一个MySQL连接.