2014-09-29 40 views
0

我在我的代碼中使用的mysqli與bind_param,但我不斷收到錯誤:SQL bind_param不工作

一些變數不事先準備好的聲明

但參數匹配變量匹配參數的數量。任何想法?

這裏是我的代碼:

$fromDate = "2014-06-26"; 
$toDate = "2014-06-26";  
$query = "SELECT DATE_FORMAT(dateUpdated, '%d/%m/%Y'), source_id, count(*) FROM kb_news WHERE dateUpdated BETWEEN 'fromDate 00:00:00' AND 'toDate 23:59:59' GROUP BY DATE(dateUpdated), source_id;"; 

if($stmt = $this->conn->prepare($query)) { 
$stmt->bind_param("ss", $fromDate, $toDate); 

感謝

+0

您沒有指定佔位符。你想在哪裏綁定值? – Jens 2014-09-29 12:18:28

回答

1

您查詢必須樣子。

$query = "SELECT DATE_FORMAT(dateUpdated, '%d/%m/%Y'), source_id, count(*) FROM kb_news WHERE dateUpdated BETWEEN '? 00:00:00' AND '? 23:59:59' GROUP BY DATE(dateUpdated), source_id;"; 

您必須使用問號而不是名稱作爲佔位符。

+0

即使我用佔位符替換查詢中的變量?我得到了同樣的錯誤 – Shai 2014-09-29 12:44:09