使用mysql_real_escape_string返回空

时间:2013-08-17 14:11:09

标签: 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)。

为什么?

1 个答案:

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