我似乎遇到了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没有显示任何内容。
任何想法?
答案 0 :(得分:6)
mysql_real_escape_string
需要与数据库的活动连接。您需要使用mysql_connect()
连接到数据库才能使用它。
但是,最好切换到PDO或MySQLi并使用预准备语句,因为:
mysql_*
库。答案 1 :(得分:3)
要使mysql_real_escape_string
生效,必须才能拥有有效的数据库连接。如果您无法建立数据库连接,请改用mysql_escape_string
。
旁注:这些都不是理想的,因为不推荐使用mysql扩展。你应该转向PDO或mysqli。