codeigniter アクティブ レコードを使用して単純な mysql クエリを実行し、過去 1 時間のデータを選択しています。
私のクエリは次のとおりです。
SELECT * FROM tablename WHERE added_datetime >= DATE_SUB(NOW(),INTERVAL 1 HOUR)
そして、このクエリを形成する私の codeigniter コードは次のとおりです。
$data=array(
'added_datetime >='=>'DATE_SUB(NOW(),INTERVAL 1 HOUR)',
);
$query=$this->db->get_where('tablename',$data);
問題は、codeigniter が DATE_SUB 関数の周りに一重引用符を追加することです。これにより、mysql サーバーでクエリが機能しません。
codeigniter は以下を生成します:
SELECT * FROM (`tablename`) WHERE `added_datetime` >= 'DATE_SUB(NOW(),INTERVAL 1 HOUR)'
FALSE
私も3番目のパラメーターとして追加してみましたget_where
が、まだ機能しません
$query=$this->db->get_where('tablename',$data,FALSE);
また、上記と同じクエリも生成されました。ですから、この問題を解決する方法を教えてください。
-ありがとう