Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql_real_escape_string();问题_Php_Mysql_Sql - Fatal编程技术网

Php mysql_real_escape_string();问题

Php mysql_real_escape_string();问题,php,mysql,sql,Php,Mysql,Sql,我似乎在mysql_real_escape_string()上遇到了一个小问题 它没有给我一个返回值,例如,我这样使用它: $a = mysql_real_escape_string($tableName); 但是$a是空白的 我已经运行了几个类似的测试: $query = "CREATE TABLE ".$tableName." AS (SELECT * FROM availability WHERE 1=2)"; echo "query: " . $query; echo "table

我似乎在mysql_real_escape_string()上遇到了一个小问题

它没有给我一个返回值,例如,我这样使用它:

$a = mysql_real_escape_string($tableName);
但是$a是空白的

我已经运行了几个类似的测试:

$query = "CREATE TABLE ".$tableName." AS (SELECT * FROM availability WHERE 1=2)";

echo "query: " . $query;

echo "tableName: " . $a;
输出如下:

query: CREATE TABLE gRLEFCnOauUlJAekIEq5 AS (SELECT * FROM availability WHERE 1=2)tableName:
正如您所看到的,查询与预期的一样,但是$a没有显示任何内容


有什么想法吗?

mysql\u real\u escape\u string
需要与数据库的活动连接。您需要使用
mysql\u connect()
连接到数据库才能正常工作

但是,最好切换到PDO或MySQLi并使用准备好的语句,因为:

  • 不推荐使用
    mysql.*
  • 事先准备好的陈述胜过逃避

  • 为了使
    mysql\u real\u escape\u string
    正常工作,您必须有一个活动的数据库连接。如果无法建立数据库连接,请改用
    mysql\u escape\u string


    旁注:这两种方法都不理想,因为mysql扩展已被弃用。你应该转向PDO或mysqli。

    我希望你没有使用
    mysql\uuuz
    函数。我不知道你在问什么…………请注意
    mysql\uxxx()
    函数是过时的、不安全的和不推荐的。建议尽快切换到
    mysqli_xx()
    函数或PDO。供将来的用户查看您的问题。如果你知道这一点,太好了。它们不再得到维护,并且已经开始使用。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果你选择PDO,两个几乎相同的答案(但显然是分开的书面答案)在一秒钟内发布,这让人印象深刻。