2010-08-05 4 views
0

나는 "Select"기능을 사용할 때 CodeIgniter와 함께 MySQL ActiveRecord를 사용하여 쿼리를 제출하지만 일부 장애가 발생했습니다. 예를 들어,이 MySQL 쿼리는 phpMyAdmin 내에서 완벽하게 작동합니다.MySQL의 활성 레코드 문제

SELECT review_id, firms_name 
FROM reviews AS r 
JOIN firms AS f ON f.firms_id = r.review_target_id 
WHERE r.review_id =3 
ORDER BY r.review_timestamp DESC 
LIMIT 0 , 30 

정확하게 두 개의 열을 제공합니다.

그러나 이것은 단지, 나에게 "REVIEW_ID을"하나 개의 컬럼을 제공합니다

$this->db->select('review_id', 'firms_name'); 
$this->db->from('reviews as r'); 
$this->db->join('firms as f', 'f.firms_id = r.review_target_id'); 
$this->db->where('r.review_id', $id); 
$this->db->order_by('r.review_timestamp', 'desc'); 
$query = $this->db->get(); 

내가 '선택'조항을 삭제하면, 내가 필요로하는 모든 정보를 얻을 수 있지만, 난 이해하고 싶습니다 잘못하고 어떻게 db의 부하를 줄일 수 있습니다. 이견있는 사람?

답변

3
$this->db->select('review_id', 'firms_name'); 

은 (열 이름이 하나의 문자열을해야합니다) 다음과 같이 기록한다 : 당신은 항상 출력에 마지막으로 실행 한 쿼리를 $this->db->last_query();를 사용할 수있는 당신이 그렇게

또한
$this->db->select('review_id, firms_name'); 

, 기억 실행중인 정확한 SQL 문을 볼 수 있습니다.

+0

빠른 응답을 보내 주셔서 감사합니다. 늘 그렇듯이, 내가 더 조심하면, 나는 이러한 문제가 시작되지 않을 것이다. 많은 감사합니다. – tchaymore

+0

@ tchaymore : 도와 줘서 기뻐요! –

관련 문제