CI 묻고 답하기

제목 Table 'ci_book.Board1' doesn't exist 질문드립니다.
카테고리 CI 2, 3
글쓴이 cheeseyummy 작성시각 2020/11/09 06:36:49
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 10625   RSS
public function get_view($table, $id) {
    // 조횟수 증가
    $sql0 = "UPDATE " . $table . " SET hits = hits + 1 WHERE board_id='" . $id . "'";
    $this -> db -> query($sql0);

    $sql = "SELECT * FROM " . $table . " WHERE board_id = '" . $id . "'";
    $query = $this -> db -> query($sql);

    // 게시물 내용 반환
    $result = $query -> row();

    return $result;

}

 

현재 이렇게 쓰고 있습니다.

 

리스트도 잘 불러오는데 

A Database Error Occurred

Error Number: 1146

Table 'ci_book.Board1' doesn't exist

UPDATE Board1 SET hits = hits + 1 WHERE board_id=''

Filename: models/Board_m.php

Line Number: 32

 

이 에러가 납니다. 왜 이러는지 모르겠습니다.

현재 centos와 php7.4.7 CI3 mariadb 쓰고있습니다. 

 

 다음글 스마트에디터 이용중에 문의드립니다. (3)
 이전글 배열값 추출 (3)

댓글

QIO™ / 2020/11/09 07:57:08 / 추천 1

에러메세지를 보면 ci_book 데이터베이스에 Board1 이라는 테이블이 없다는 것인데

UPDATE Board1 SET hits = hits + 1 WHERE board_id='' 문구로 유추해보면 board_id에 인자가 전달 안되는것으로 보아서

get_view에 전달되는 $table, $id 값이 맞게 전달되는지 확인해보셔야 할것 같습니다.

변종원(웅파) / 2020/11/09 10:46:45 / 추천 1

책 소스인데 오탈자 적용전 버전이네요.

QIO™님 말씀처럼 호출하는 곳에서 테이블명과 게시물번호를 선언하지 않았을 겁니다. 확인해보세요.

cheeseyummy / 2020/11/09 17:29:36 / 추천 0
변종원(웅파) 어디부분을 수정을 해야할까요?
변종원(웅파) / 2020/11/09 17:49:25 / 추천 0
get_view() 이 함수를 호출한 곳이 있을 겁니다. 전체 소스내에서 get_view로 검색해보세요
cheeseyummy / 2020/11/09 18:43:15 / 추천 0
초보자라 잘 몰라서 혹시 그부분의 오탈자를 알려주실수있습니까?
변종원(웅파) / 2020/11/09 19:00:24 / 추천 0
답을 드렸습니다. 해보시고 글 올리세요. ^^
cheeseyummy / 2020/11/09 19:37:29 / 추천 0
public function get_view($table='ci_board', $id='ci_board') {

 

처음 답변이 달리고 계속 수정하고 해보았지만 모르겠습니다.

변종원(웅파) / 2020/11/10 08:35:20 / 추천 0

cheeseyummy/ 어떻게 수정했는지 올리셔야 다른 사람이 답을 할 수 있습니다. (답변자는 독심술사가 아닙니다.)

https://www.cikorea.net/bbs/view/qna?idx=15338&page=1&view_category=&lists_style= 이 글 읽어보시고 다음에 질문하실 때 참고하세요.

php 함수 부분 설명을 다시 보셔야할 것 같네요. 

get_view($table='ci_board', $id='ci_board')

함수를 풀자면 $table, $id 에 아무런 값이 없으면 ci_board 라고 값을 넣어준다는 것입니다. (책에 있는 내용을 왜 여기서 다시 쓰는지 모르겠지만)

컨트롤러에서 get_view()함수를 사용한 부분이 있는데 거기에 변수가 있을 건데 그게 제대로 안 넘어가는 것입니다.

해당 코드를 어디서 얻으셨는지 모르겠지만 제가 쓴 책의 수록된 코드로 공개한 것입니다. 

https://www.cikorea.net/bbs/lists/cibook 여기 오탈자 안내를 보시거나 

한빛미디어 사이트에서 '만들면서 배우는 codeigniter'로 검색해서 나온 설명 페이지에 소스와 오탈자 안내가 있습니다.