2012-04-16 4 views
2

私は最後の1時間でデータを選択する単純なmysqlクエリを実行するcodeigniterアクティブなレコードを使用しています。My Sql DATE_SUB()およびcodeigniterアクティブレコードに問題がありますか?

ので、私のクエリは次のとおりです。今の問題は、CodeIgniterのです

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

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

これにDATE_SUB機能の周りに起因単一引用符を追加します。

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

と私のCodeIgniterのコードこのクエリを形成することですクエリはmysqlサーバ上で動作しません。

CodeIgniterでは、生成:

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

私はそれはまた、上記と同様のクエリを生成もget_whereに3番目のパラメータとしてFALSEを添加することによって試みたが、STIL

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

が働いていません。 この問題の解決方法を教えてください。

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

$this->db->get_where();あなたのwhere句をアンエスケープする機能を提供していません:

-Thanks

答えて

6

ではなく、このような何かをやってみてください。

+0

perfect shot..man!ありがとう – Peeyush

関連する問題