2012-04-16 33 views
2

我使用codeigniter活動記錄來執行一個簡單的mysql查詢來選擇最近一小時的數據。我的Sql DATE_SUB()和codeigniter活動記錄的問題?

所以我的查詢是:

SELECT * FROM tablename WHERE added_datetime >= DATE_SUB(NOW(),INTERVAL 1 HOUR) 

和我笨的代碼,形成這個查詢:

$data=array(
      'added_datetime >='=>'DATE_SUB(NOW(),INTERVAL 1 HOUR)', 

      ); 
      $query=$this->db->get_where('tablename',$data); 

現在的問題是笨增加了一個單引號括起來的DATE_SUB功能,由於這種該查詢不適用於mysql服務器。

笨生產:

SELECT * FROM (`tablename`) WHERE `added_datetime` >= 'DATE_SUB(NOW(),INTERVAL 1 HOUR)' 

我還通過在get_where加入FALSE作爲第三參數嘗試,但STIL不工作

$query=$this->db->get_where('tablename',$data,FALSE); 

它也產生相同的查詢如上述。 所以請建議我如何解決這個問題。

-Thanks

回答

6

試着做這樣的事情,而不是:

$this->db->where("added_datetime >= DATE_SUB(NOW(),INTERVAL 1 HOUR)", NULL, FALSE); 
$query = $this->db->get('tablename'); 

$this->db->get_where();不提供給您的反向轉義where子句的功能。

+0

perfect shot..man!謝謝 – Peeyush 2012-04-16 07:21:37