Php mysql_real_escape_string();问题
我似乎在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
$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,两个几乎相同的答案(但显然是分开的书面答案)在一秒钟内发布,这让人印象深刻。