데이터 베이스 select 쿼리문 질문입니다.
조회수 2316회
<?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 문의 따옴표나 그런건 이상이 없는거 같은데, 어디서 에러가 발생하는지 구체적으로 모르겠습니다..
-
(•́ ✖ •̀)
알 수 없는 사용자
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();
댓글 입력