php - 使用 mysql_real_escape_string 返回空

标签 php mysql database mysql-real-escape-string

我使用 mysql_real_escape_string 转义 $this->piVars

....de/index.php?searchGenre=5

$searchGenre = mysql_real_escape_string($this->piVars[searchGenre]);
$result = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'item', 'genre = ' . $searchGenre, 'title', '');

print_r($this->piVars[searchGenre]); = string "5".

var_dump($this->piVars[searchGenre]); = string(1) "9"

print_r($searchGenre) = 空字符串。

var_dump($searchGenre) = bool(false).

为什么?

最佳答案

这可能是因为您没有打开 mysql 连接。您必须首先打开连接,mysql_real_escape_string() 才能工作。

mysql_connect('mysql_host', 'mysql_user', 'mysql_password') // open connection..
$searchGenre = mysql_real_escape_string($this->piVars[searchGenre]); // use it

注意 mysql_ 函数已弃用。请改用 PDO(或 mysqli)准备好的语句。

关于php - 使用 mysql_real_escape_string 返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18289721/

相关文章:

php - 正确从 MySQL 中提取 Unicode 字符 [PHP MYSQL]

php - 将旧的 php 和 mysql 版本网站上传到具有新 php 和 mysql 版本的服务器

php - 使用 MySQL 和 PHP 进行唯一条目验证

php - Bash 补全 symfony

PHP:性能:splat 运算符或反射

php - 是否有任何函数可以在不声明值的情况下检查值(仅 0.25 步)?

java - 无法通过 class.forName ("com.mysql.jdbc.Driver"加载类 com.mysql.jdbc.Driver )

mysql - 如何在laravel中使用insert方法获取最后插入的id

mysql - 删除MySQL中特定数据库中用户的所有权限

database - Haskell persistent w/esqueleto : read entire table, 和计数记录