MySQL 클라이언트에서 완벽하게 작동하고 올바른 결과를 반환하는 쿼리가 왜 나오는지 알고 있기 때문에 실제로 머리를 긁적니다. . 내 질문은 다음과 같습니다SQL 클라이언트에서 작업하는 쿼리가 PHP와 PDO를 사용하여 행을 반환하지 않습니다.
SELECT id, title, img
FROM blog_posts JOIN blog_img
ON blog_posts.id = blog_img.id_post
WHERE id='1';
내 PHP/PDO 코드는 다음과 같습니다
$query = $this->dbconn->get_db_access()->prepare("SELECT id, title, img
FROM blog_posts JOIN blog_img
ON blog_posts.id = blog_img.id_post
WHERE id=:id");
$query->bindParam(":id", $id);
$result = $query->fetch(PDO::FETCH_ASSOC);
print_r($result);
없음 PDOException
가 발생하고 아직 $result
배열이 비어 있습니다. 아무도 설명을 해줄 수 없습니까? 내가 잘못하고있는 것이 있습니까? 바인딩 후 "최종"SQL 코드를 "확인"할 수있는 방법이 있습니까? 그렇기 때문에 모든 것이 잘되었는지 확인해야합니다.
두 가지 다른 검색어가있을 수 있습니다. 'ON blog_posts.id'와'ON blog_post.id' –
질의가 실행될 때'$ id'의 값은 무엇입니까? – War10ck
@ War10ck 실제로이 코드는'foreach'에 있으므로'$ id'가 다른 id 값을 가질 때마다 올바른 값을 가지므로 질의가 실패하지 않습니다. – haunted85