我用mysql_real_escape_string
来逃避$this->piVars
。
….de/index.php?搜索类型=5
$searchGenre = mysql_real_escape_string($this->piVars[searchGenre]);
$result = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'item', 'genre = ' . $searchGenre, 'title', '');
print_r($this->piVars[searchGenre]);
=字符串“5”。var_dump($this->piVars[searchGenre]);
=字符串(1)“9”print_r($searchGenre)
=空字符串。var_dump($searchGenre)
=bool(假)。为什么?
最佳答案
这可能是因为您没有打开的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)一起使用。