[英]PHP PDO Prepared Statement Query not substituting
我有一小段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 = ?;
我懷疑這是真的:
$sql = "SELECT a.* FROM article a LEFT JOIN article_links al on a.id = al.from_article_id WHERE al.to_article = '?'"
問號不應用引號引起來-這表示它是字符串而不是參數占位符。 僅使用al.to_article = ?
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.