2010-03-12 36 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