PDO绑定param循环

时间:2015-06-19 19:55:44

标签: php mysql sql pdo

我看到了类似的问题,但它对我没有帮助。我在这里有PHP:

//looping array contains one value - below line not part of code, just for to expmplify
var_dump($categoriesBind) -> array(1) { [0]=> &string(10) "healthcare" } 


$sqlPS->bindParam(':belonging', $_GET['belonging']);
$sqlPS->bindParam(':title', $_GET['title']);
//variable number of parameters
for ($i = 0; $i < count($categoriesBind); $i++){
    $sqlPS->bindParam(':'.$categoriesBind[$i], $categoriesBind[$i]);
}

由此得到的字符串是:

SELECT * FROM blog_article 
WHERE belonging = ':belonging' 
AND blog_article.title != ':title' 
AND category LIKE '%:healthcare%' 
ORDER BY FIND_IN_SET(':healthcare',category) desc LIMIT 0,3

返回array(0){}

但是,如果我手动运行填充参数的查询,它运行正常并返回结果。 ':belongs'和':title'参数绑定正常,问题在于其他绑定解释,我不能,在我的生活中,弄清楚发生了什么。

更新:进一步测试后,这是'%:healthcare%'失败的原因。参数不会在LIKE语法中绑定。

如果需要更多信息,请询问。

0 个答案:

没有答案