从2个表中选择*,没有任何类似的行

时间:2014-05-22 12:56:32

标签: php mysql sql

我是编程新手,所以我有一个关于在MySQL中选择数据的问题。所有答案都是关于合并和加入,我并不是真正想要的。返回

包含所有用户数据的第一个表,以及显示用户所有帖子的第二个表。

我试过这样做:

$sql="select * from wall, maintable where postverification="yes" AND userid='".$_SESSION['userid']."'";

$result=mysql_query($sql);

$row=mysql_fetch_array($result);

我想获得这些不同数据的原因是我可以在php中发布一个隐藏字段,其中包含"谁发布了什么"在同一页面中名为wall.php(类似于推特概念,但时间轴显示所有用户帖子)

我上面尝试过的代码只从1个表中选择是否"墙"或者"维护"。

为什么会这样?

2 个答案:

答案 0 :(得分:1)

也许你会找到这样的东西:

SELECT a.field1, b.field2 FROM table1 AS a, table2 AS b WHERE a.field3=b.field3

或者使用LEFT JOIN,相同的查询变为:

SELECT a.field1, b.field2 
FROM table1 AS a
LEFT JOIN table2 AS b ON a.field3=b.field3

你需要查看sql别名。

答案 1 :(得分:0)

您必须使用join声明:

select * from wall inner join nmaintable on wall.'samefield'=postverification.'samefield'
 where postverification="yes" AND userid='".$_SESSION['userid']."'";

还要考虑SQL injection,尝试使用PDO