如何使用mysql从多个表中检索数据

时间:2012-09-08 08:08:57

标签: php mysql select union union-all

ı有2个不同的表,一个是男孩,另一个是女孩。我想用一个查询列出所有。

ı试图使用联盟,但它不起作用。

$query=mysql_query("select * from girls union select * from boys");

错误:mysql_fetch_array()期望参数1是资源,布尔值在C:\ wa

中给出

出现错误,因为我无法从此查询中获取任何数据。

http://www.tutorialspoint.com/mysql/mysql-union-keyword.htm

http://www.w3schools.com/sql/sql_union.asp

ı阅读有关此事的内容,但ı无法找到问题。

谢谢。

2 个答案:

答案 0 :(得分:1)

使用以下方法检查发生的错误:

$result = mysql_query("SELECT * FROM girls UNION SELECT * FROM boys");
if (!$result) {
    var_dump(mysql_errno(), mysql_error());
}
...

我想说这很可能是因为两个表之间的列数不同。

另请注意,mysql_*函数已弃用。请改用mysqliPDO

答案 1 :(得分:0)

$sql = "
    SELECT *
    FROM girls union 
    SELECT * FROM  boys
    ";
   <table width="300" border="1">
<tr>
    <td><b>ID</b></td>
    <td><b>LName</b></td>
    <td><b>FName</b></td>
</tr>
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
//print data
?>
<tr>
<td><? echo $row['id']; ?></td> //change the attribute 'id' inside the braketes
                             //with the name of the attributes from your tables
    <td><? echo $row['Lname']; ?></td>
    <td><? echo $row['Fname']; ?></td>
</tr>
<?
}
?>