簡體   English   中英

PHP PDO准備語句查詢未替換

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM