MySQL有两个表的两个条件

时间:2015-07-24 23:39:37

标签: php mysql

我有一个mysql查询:

$query5 = mysql_query("SELECT * FROM `pages` WHERE (`id`='$switch' AND `rand`='$randID' AND `email`!='".$_SESSION['user']."') ");

第二名:

$query5 = mysql_query("SELECT * FROM `pages_admin` WHERE (`pId`='$switch' AND `rand`='$randID' AND `admin`!='".$_SESSION['user']."') ");

我使用while循环来显示数据。

while($row = mysql_fetch_array($query5)) {}

我需要一个mysql查询而不是两个。

1 个答案:

答案 0 :(得分:0)

如果这些表相关,您可以使用外键加入它们。 如果我没有弄错,表pages_admin中的这个pId是表页上id的外键,那是正确的吗?

如果是这样,您可以执行以下操作来查询:

"SELECT * FROM pages p
LEFT JOIN admin_pages ap on p.id = ap.pId 
WHERE (`pId`=$switch AND `rand`=$randID AND `admin`!='{$_SESSION['user']}')"

请注意,我已经更改了语法,而不是合并字符串,只能使用包含所需变量的字符串。