2010-02-06 48 views
2

我想從一個$_REQUEST var的字符串中執行一條簡單的SELECT語句,但看起來我的PDO語句不喜歡字符串格式,爲什麼?PdoStatement-> bindParam()上的字符串編碼問題?

$_REQUEST變種中包含像Hello+World一個字符串,所以我需要用空格來代替+正確地做我的SELECT聲明。

// the data returned is Hello+World 
$phrase = str_replace ("+", " ", $_REQUEST["my_data"]); 

$phrase_select = $connection->prepare ("SELECT data_field FROM my_table WHERE phrase = ':phrase'"); 
$phrase_select->bindParam (":phrase", $phrase, PDO::PARAM_STR); 
$phrase_select->execute(); 
$data_field = $phrase_select->fetchColumn(); // return nothing 

如果我做一個SELECT用字符串「Hello+World」手動,它的工作原理沒有問題,但如果我用$_REQUEST["my_data"]做到這一點,它不會工作,在那裏我錯了?
如果我打印$_REQUEST["my_data"]它恰好返回Hello+World

回答

2

你沒有加入「..」在你的綁定PARAM,PDO會爲你做

+0

謝謝!我需要更多的練習來明確PDO課程 – vitto 2010-02-07 00:03:00