2012-08-26 122 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