'like'문을 포함하는 쿼리에 문제가 있습니다. 여기 'Like'쿼리와 관련된 MySQL 문제
내 코드입니다 :function get_number_of_locations_by_zip_tag($zip, $tag)
{
global $db;
$query = "SELECT * FROM location WHERE zip = :zip AND disabled = 0 AND (tags LIKE :tag OR name LIKE :tag) LIMIT :start, :number";
$statement = $db->prepare($query);
$statement->bindValue(':zip', $zip);
$statement->bindValue(':tag', '%'.$tag.'%', PDO::PARAM_STR);
$statement->execute();
$locations = $statement->fetchAll(); //fetch();
$statement->closeCursor();
return $locations;
}
내가 태그가 '이름'또는 '태그'필드 중 하나와 일치하는 행을 반환하는 쿼리를 기대하고있어, 대신 그것은 단지 행 어디를 반환합니다 태그가 일치합니다.
I가 쿼리를 전환하는 경우 :
$query = "SELECT * FROM location WHERE zip = :zip AND disabled = 0 AND (name LIKE :tag OR tags LIKE :tag) LIMIT :start, :number";
, 결과는 단지 이름 필드가 일치하는 행을 반환 할 경우, 반대, 그리고 태그 필드를 무시합니다.
아무도이 쿼리에 잘못된 것이 있습니까? 그것은 내가 개발을 시작할 때 Windows의 XAMPP 서버에서 기대했던대로 작동하지만, LAMP 서버로 모든 것을 전환하면이 쿼리가 더 이상 올바르게 작동하지 않습니다. 어떤 도움에 감사드립니다
,
당신은 변경할 수 있습니다
[게시물에 서명 또는 태그 라인을 추가하지 마십시오.] (http://stackoverflow.com/faq#signatures). – meagar