1

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]);= 字符串“5”。

var_dump($this->piVars[searchGenre]);= 字符串(1)“9”

print_r($searchGenre)= 空字符串。

var_dump($searchGenre)=布尔(假)。

为什么?

4

1 回答 1

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)准备好的语句。

于 2013-08-17T14:20:12.733 回答