PHP 파일 쿼리문에서 변수 사용



<?php
        $name = $_POST['name'];

        $dbc= mysqli_connect('000.000.000.000', 'root', '0000', 000')
                                                            or die('Error Connecting to MySQL server.');
        mysqli_query($dbc, "set names utf8;");

        $query = "select * from db where title LIKE '%$name%'";
        $result = mysqli_query($dbc, $query)
                                or die('Error Querying database.');
        $json = array();
            if(mysqli_num_rows($result)){
                    while($row=mysqli_fetch_assoc($result)){
                            $json['list'][]= $row;
                    }
                    mysqli_free_result($result);
            }
        echo json_encode($json);
        mysqli_close($dbc);
?>

맨위에 JSON params으로 가져온 name이라는 값을 저렇게 선언해주고 쿼리문 안에서 저렇게 사용하는것이 맞나요? 연동 에러는 안뜨는데 쿼리문에 있는 name이 들어가는 목록이 뜨질 않고 전체 목록이 뜨는데 쿼리문 문제인가요?

  • 2016년 06월 15일에 수정됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.
  • 2016년 06월 14일에 작성됨
    프로그래밍을 배우는 학생입니다

  • 쿼리문에 이상은 없어보이는데 var_dump($name); var_dump(mysqli_error($dbc));실행하셔서 한번 체크해보시는게 도움이 될 것 같습니다.    halibut-jake   2016.6.15 00:57     
  • 전체 목록이 뜬다면, like '%%' 이렇게 쿼리가 실행된거 같은데요, 윗분 댓글 말씀대로 $name 값을 잘 가져오는지 확인해보시면 될거 같습니다.    Manki Kim   2016.6.15 18:06     
조회수 288


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close