我使用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)。
为什么?
答案 0 :(得分:4)
这可能是因为你没有打开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)准备好的语句。