2010-03-12 3 views
0

이상한 것을 본다. 도움을 구하는 중입니다.Sort가 DESC이고 제한적일 때 MYSQL 쿼리 결과가 짧아진다.

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

$num 함수 호출을 통해 전달 된 (그리고 15 ==) (BTW, CodeIgniter를 사용), 제대로 반향된다과 같이

나는 쿼리가 있습니다. 그러나 이것을 실행하면 10 개의 행만 반환됩니다. 내가 명시 적으로 $num을 15로 설정하면 같은 일이 발생합니다. $num을 20으로 설정하면 11 개의 행이 반환됩니다. 내 돔에 WTF가있어!

자연스럽게, 대신 DESC 대신 주문을 설정하면 원래 쿼리가 예상대로 실행됩니다.

쿼리는 CocoaMySQL에서 실행될 때 예상되는 행 수를 반환합니다.

이상형은 무엇입니까?

+0

MySql 쿼리 로그에는 어떤 내용이 있습니까? 실제로 어떤 SQL이 데이터베이스에 도착 했습니까? – davek

+0

모든 것이 로그에서 정상적으로 보입니다 : 'SELECT * FROM 레지스터 WHERE client_id = 000690 ORDER BY 날짜 DESC LIMIT 15' – stormdrain

답변

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

+0

db 내의 마지막 행을 가져 오기 위해 CodeIgniter를 사용하여 쿼리하십시오. –