2012-08-26 508 views
0

我目前有一點問題我想不通的,我想我失去了一些東西。
這是不(由於某種原因)工作的代碼:當執行上面的代碼是一個空數組array(0) { }PHP PDO不返回任何結果

$search = "my search keyword"; 
$findTopics = $db->prepare('SELECT * FROM topics LEFT JOIN forum ON forum.f_id = topics.f_id WHERE topics.keywords LIKE "%:keyword%"'); 
$findTopics->bindValue(':keyword', $search); 
$findTopics->execute(); 
var_dump($findTopics->fetchAll(PDO::FETCH_ASSOC)); 

結果。
如果更改:keywordmy search keyword和刪除$findTopics->bindValue(..)返回結果。如果你通過控制檯直接在mysql中執行,查詢也可以正常工作。

我在這裏錯過了什麼?

回答

4

更改前兩行:

$search = "%my search keyword%"; 
$findTopics = $db->prepare('SELECT * FROM topics LEFT JOIN forum ON forum.f_id = topics.f_id WHERE topics.keywords LIKE :keyword'); 

,它應該工作的罰款。

PDO將周圍添加參數報價爲您服務。

+0

該死..我覺得很愚蠢。謝謝。 (我會在幾分鐘內標記你的答案) – tftd