데이터 베이스 select 쿼리문 질문입니다.


<?php
    $dbc = mysqli_connect('127.0.0.1', 'root', 'apmsetup', 'sh')
                or die('Error Connecting to MySQL server.');

    mysqli_query($dbc, "set names utf8;");
    $title = $_POST['item_title'];

    $query = " select * from db where title LIKE '%title%' ";

    $result = mysqli_query($dbc, $query)
                or die('Error Querying databases.');

    $json = array();
    if(mysqli_num_row($result)){
        while($row=mysqli_fetch_assoc($result)){
            $json['list'][] = $row;
        }
        mysqli_free_result($result);
    }
    echo json_encode($json);
    mysqli_close($dbc);
?>

코드는 제가 android java 파일에서 params.put("item_title", title)을 이용하여 title이라는 값을 가져와서 그 값에 맞는 모든 값들을 title 컬럼에서 가져오게 하는 쿼리문인데, DB 연동 에러가 계속 발생해서 혹시 위의 코드중에 문법이 틀린 곳이 있는지 확인 부탁드립니다. SELECT 문의 따옴표나 그런건 이상이 없는거 같은데, 어디서 에러가 발생하는지 구체적으로 모르겠습니다..

  • 2016년 06월 14일에 작성됨
    프로그래밍을 배우는 학생입니다

조회수 210


1 답변


질문에서 에러라는 것이 질의가 안되는 것을 말하는 건지?

값이 안나오는 것인지 애매하네요.

일단 다음의 쿼리는 아래와 같이 수정해보세요.

$result = mysqli_query($dbc, $query)
                or die('Error Querying databases.');
$stmt = $dbc->prepare("SELECT * FROM db WHERE title LIKE ?");
$stmt->bind_param("s","%{$title}%");
$stmt->execute(); // or die('Error Querying databases.');
$result = $stmt->get_result();
  • 2016년 06월 14일에 작성됨
    리눅스(유닉스) 기반의 시스템에서 웹 서비스를 개발하고 있습니다.

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

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