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