我有一小段 PHP 代码:
$stm = $db->prepare($sql);
$result = $stm->execute($params);
$params 如下
array(1) {
[0]=>
string(3) "why"
}
然而,根据MySQL日志,发送给MySQL的$sql仍然包含一个问号:
1 Query SELECT a.* FROM article a
LEFT JOIN article_links al on a.id = al.from_article_id
WHERE al.to_article = '?'
我还缺少其他可以替换的东西吗?
最佳答案
您不需要在问号周围加上单引号:
SELECT a.* FROM article a
LEFT JOIN article_links al on a.id = al.from_article_id
WHERE al.to_article = ?;
关于PHP PDO 准备语句查询不替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8392059/