我真的很挠我的头,因为我想弄清楚为什么在MySQL客户端完美工作的查询并返回正确的结果,当由PDO 。我的查询是:查询在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