2010-03-12 21 views
0

看到一些奇怪的東西;正在徵求幫助。當排序是DESC和有限時,MYSQL查詢結果縮短了

我有一個查詢,像這樣:(使用笨,順便說一句)

'SELECT * FROM registers WHERE client_id='.$clid .' ORDER BY date DESC LIMIT '.$num 

$num通過函數調用傳遞(和它== 15),並正確呼應。但是運行這個只返回10行。如果我明確地將$num設置爲15,則是相同的。如果我將$num設置爲20,則返回11行!跆拳道在我的穹頂!

Howeverstance,如果我將訂單設置爲ASC而不是DESC,原始查詢按預期運行。

該查詢返回在CocoaMySQL中以任一種排序運行時的預期行數。

任何想法?

+0

你的MySql查詢日誌告訴你什麼?什麼SQL實際上在數據庫中? – davek 2010-03-12 20:03:17

+0

在日誌中一切看起來都OK: 'SELECT * FROM registers WHERE client_id = 000690 ORDER BY date DESC LIMIT 15' – stormdrain 2010-03-12 20:22:40

回答

0

它返回適當數目的結果。我有一個條款阻止行在某些條件下打印,並且遇到了這些條款。檢查了num_rows()並且它是正確的,因此找到了違規代碼。

0
$this->db->select('*'); 
$this->db->from('registers'); 
$this->db->order_by('id','DESC'); //client_id='.$clid 
$this->db->limit(4); //'.$num 
$query_result = $this->db->get(); 
$hasil = $query_result->result(); 
return $hasil; 
+1

請提供解釋給你的答案 – arghtype 2015-02-16 07:30:08

+0

查詢使用CodeIgniter獲取db中的最後一行, – 2015-02-16 07:37:29