我使用 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/