CI 묻고 답하기

제목 이게.. CI문제인지, 아님 일반 Mysql 문제인지... 테이블명 변수활용에 대해서,,
글쓴이 수석코치 작성시각 2016/03/10 11:34:06
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 14815   RSS
	function get_list($tx_table='cp_board', $GET_TYPE='', $GET_OFFSET='', $GET_LIMIT=''){
		
		$Limit_Query = "";
		
		if( $GET_LIMIT != '' OR $GET_OFFSET != ''){
			//페이징이 있을 경우 처리
			$Limit_Query = ' limit ' . $GET_OFFSET . ' , ' . $GET_LIMIT;
		} 
		
		//echo $tx_table . "<br>";
		//exit;
			
		$sql = "SELECT * FROM ". $tx_table . "  Where status = '0'  Order By idx desc " . $Limit_Query;
		$query = $this-> db ->query($sql);
		
		if ( $GET_TYPE == 'count') {
			//리스트를 반환하는 것이 아니라 전체 게시물의 개수를 반환
			$result = $query->num_rows();
		} else {
			//게시물 리스트 반환
			$result = $query->result();
		}
		
		return $result;
	}

 

보통.. SQL 문을.. 좀 다양하게 해보고자,, 테이블 명을 변수로 지정해서 바꿔가면서 사용하시는 분들이 많이 계실텐데요..

저 역시도.. 1개 쿼리문으로 여러 테이블 조회 할때 쓰려고,,, 테이블명을 변수처리로 해서,,

CI교재도 그렇고,,, 근데 에러를... 내고 있어요 -,.-;

 

-------------------------------------------------------

A Database Error Occurred

Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Where status = '0' Order By idx desc' at line 1

SELECT * FROM Where status = '0' Order By idx desc

Filename: models/bbs/Board_m.php

Line Number: 37

-------------------------------------------------------

 

이게... 설정 문제인가요..?? 

 

 

 다음글 $this->db->where() 공백이 왜... (3)
 이전글 기초적인거 질문 드릴게요 ㅠㅠ.. (3)

댓글

taegon / 2016/03/10 11:59:01 / 추천 0

에러 내용 보시면 SQL syntax 에러라고 나오네요.

CI의 문제가 아니라 SQL 작성에 오류가 있는 겁니다. SQL문 보니 SELECT * FROM Where status = '0' Order By idx desc 로 입력된걸 보면 

$tx_table에 공백으로 들어가서 문제가 발생한 것 같은데요? get_list 함수를 호출할 때 값이 어떻게 되는지 확인해보시면 될 것 같네요.

한대승(불의회상) / 2016/03/10 11:59:11 / 추천 0

에러메시지를 보면 "SELECT * FROM Where status = '0' Order By idx desc" 로 되어 있군요.

$tx_table 에 넘어온 값 먼저 확인 해 보세요.

수석코치 / 2016/03/10 12:09:07 / 추천 0

죄송합니다!!!

한대승(불의회상) / 2016/03/10 12:10:31 / 추천 0

ㅎㅎ 정말 이상하군요. ^^

$sql의 값도 확인해 보세요.

수석코치 / 2016/03/10 12:54:12 / 추천 0

결국 제가 바보입니다~~~!! 감사합니다 ^_________^

그리고 죄송합니다~~~