2013-04-06 53 views
1

这是一个相当个人化的问题。所以我很难在Stack上找到一个好的答案。我正在运行一个查询,将两个表上的信息组合在一起。如何使用mysql查询连接两个表?

到目前为止,这是我得到

$query = "SELECT blog_post.*, user.name, user.last_name, user.picture 
      FROM blog_post, user 
      INNER JOIN user ON blog_post.author_id = user.id 
      WHERE blog_post.author_id = ? 
      ORDER BY timestamp DESC LIMIT 10"; 

$Statement = $this->Database->prepare($query); 
$Statement->execute(array($id)); 
$row = $Statement->fetchAll(); 

print_r($row); //Returns: Array() 

我需要与博客文章一起显示的用户信息。我可以在将信息保存到数据库中时存储信息,但如果用户更新了信息则不会更新信息。所以我试图在检索博客文章的同时从用户表中检索用户信息。

我该如何去做这个与一个SQL查询?我知道我可以轻松地通过调用另一个查询来做到这一点。

+1

我想你想从'blog_post INNER JOIN user',不'FROM blog_post,用户INNER JOIN user' – 2013-04-06 22:53:19

回答

3

删除, user。应该这样写:

SELECT blog_post.*, user.name, user.last_name, user.picture 
FROM blog_post 
INNER JOIN user ON blog_post.author_id = user.id 
WHERE blog_post.author_id = ? 
ORDER BY timestamp DESC 
LIMIT 10 
+0

我正式白痴。我删除了我的表中的所有行。我本来有你说的,然后我想知道为什么没有人回来。这是因为我的桌子是空的。尽管谢谢你的回答! – Alex 2013-04-06 23:00:55

+0

@Alex哦不,很抱歉听说:(:( – 2013-04-06 23:01:51

+0

我做得更糟了 – 2013-04-06 23:02:29