簡體   English   中英

PDO的綁定參數行為異常

[英]PDO misbehaving with bind parameters

我有一個可以從綁定變量中受益的簡單SQL查詢,所以我這樣寫:

$stmt = $this->db->prepare("SELECT * FROM activities WHERE user_id=':user_id' AND date(start_time)=date(':on_specific_day')");
$stmt->bindParam(':user_id',$where['user_id']); 
$stmt->bindParam(':on_specific_day',$where['on_specific_day']); 

如您所見,有一個名為where的關聯數組,用於存儲我的where條件。 當我執行此語句時,它不返回任何錯誤,但行數為零。 如果我放棄了使用綁定變量的夢想,請執行以下操作:

$stmt = $this->db->prepare("SELECT * FROM activities WHERE user_id='{$where['user_id']}' AND date(start_time)=date('{$where['on_specific_day']}')");

查詢運行得很好,並在我的測試用例中返回2個結果。 有人可以幫我擺脫瘋狂。 :^)

您無需在PDO parameters加上引號:

$stmt = $this->db->prepare("SELECT * FROM activities WHERE user_id=:user_id AND date(start_time)=date(:on_specific_day)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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