2011-02-18 80 views
2

在phpMyAdmin我可以運行此查詢:如何在codeigniter sql查詢中寫入TIMESTAMPDIFF?

SELECT TIMESTAMPDIFF(SECOND,first_load,last_load) AS uptime FROM table 

,但我怎麼寫的codeignitor方式查詢?這是行不通的:

$this->db->select('TIMESTAMPDIFF(SECOND,first_load,last_load) AS uptime') 

真正的查詢有點複雜,所以我只顯示一部分。這將是完整的查詢(不工作):

$this->db 
->select('n.unique_id, n.name, b.impressions, b.clicks, TIMESTAMPDIFF(SECOND,first_load,last_load) AS uptime') 
->from(self::$_table . ' AS b') 
->join('sm_names AS n', 'n.id = b.name_id AND n.blocked = \'0\' AND n.unique_id != 11111111') 
->where('b.last_load >', date('Y-m-d H:i:s', time() - (86400 * 2))) 
->order_by($order, 'desc') 
->limit($limit); 

它生成此錯誤消息:http://screencast.com/t/ZUYq58Rc6uA

感謝。

+0

事實證明,您不能使用活動記錄模式,您需要在純sql commant中輸入它。 – Tnobs 2011-04-08 11:56:27

回答

2

在括號關閉前嘗試在TIMESTAMPDIFF(SECOND,first_load,last_load)的last_load後給出一個空格。