제목 | SQL문과 코드이그나이터로 한 게 좀 틀리게 나옵니다. | ||
---|---|---|---|
글쓴이 | 수야디벨 | 작성시각 | 2012/12/13 10:54:27 |
|
|||
select board.*, re_board.* from board left join re_board on board.b_no = re_board.b_no
CI로 이렇게 쓰는거랑 ,.. $this->db->select('board.*'); $this->db->select('re_board.*'); $this->db->from('board'); $this->db->join('re_board', 'board.b_no = re_board.b_no','left'); $query = $this->db->get(); return $query->result(); 같은 역할을 해주는 코드가 맞지요?ㅠ 그런데, PHPMYADIMN에서 돌린 결과값이랑, 이렇게 써서 받은 결과 값이랑 다르게 나옵니다. 어느 순간부터 모두 null 로 나와요 .. 우선 1차적으로 , 두 코드가 동일한지 부터 판별 후에 다음 원인을 생각해 보야 할 거 같은데. 왜그런걸까요? |
|||
다음글 | 파일 업로드 및 다운로드 질문 (15) | ||
이전글 | 변수 순서에 관계없이 받을 수 있을까요?? (4) | ||
milosz
/
2012/12/13 10:59:22 /
추천
0
|
헛발이
/
2012/12/13 11:01:17 /
추천
0
잘 모르시면요~ CI로 한 SQL문장이 정확히 원하는것으로 변환이 되는지 확인 해 보세요~
$query = $this->db->get(); 이 문장 다음에 echo $this->db->last_query(); 하시면 바로 위에서 실행한 SQL문장을 화면에 출력 해 줍니다.. 그 문장이 원하는 문장과 같은지 확인 해 보세요~ 앗 한발 늦었땅~ |
수야디벨
/
2012/12/13 11:05:55 /
추천
0
헛발이 //
실행해 보니 이렇게 나옵니다. select' board.*', 're_board.*' from' board' left join' re_board' on 'board.b_no' = 're_board'.'b_no' null
아마 reboard 에 붙여준 'left' 때문에 그러는거 같은데 left 조인하려면, 제가 쓴거처럼 left 써주는게 맞는거지 않나요?ㅜ 아니면 null은 원래 붙나요? $this->db->select('board.*'); $this->db->select('re_board.*'); $this->db->from('board'); $this->db->join('re_board', 'board.b_no = re_board.b_no','left'); $query = $this->db->get(); return $query->result(); |
변종원(웅파)
/
2012/12/13 11:06:18 /
추천
0
전 개발할때는 컨트롤러 생성자에 프로파일러 무조건 켜놓습니다. ^^
|
헛발이
/
2012/12/13 11:17:13 /
추천
0
저랑은 좀 다르게 사용하시군요~ 음... 틀리지 않다고 생각합니다만..
$this->db->join('re_board as R', 'B.b_no = R.b_no', 'left'); $query = $this->db->get('board as B');저는 이런식으로 쓰는데.... |
한대승(불의회상)
/
2012/12/13 13:55:28 /
추천
0
이것 저것 복잡하다 생각 되시면
$this->db->query()추천 |
http://codeigniter-kr.org/user_guide_2.1.0/database/helpers.html
$this->db->select('re_board.*', false);
이런 식으로 말이죠.