我在同一数据库中有6个表。我想显示这6个表中的所有数据,并在浏览器中将其显示为一个表。因此,我为此使用了完全内部联接。我尝试了下面的代码,但是它抛出诸如“ mysql_num_rows()期望参数1为资源,布尔值”的错误。

$sql ="SELECT * FROM table1 INNER JOIN table2 ON table1.pk1=table2.fk2
        INNER JOIN  table3 ON table1.pk1=table3.fk3 INNER JOIN
        table4 ON table1.pk1=table4.fk4 INNER JOIN table5 ON
        table1.pk1=table5.fk5 INNER JOIN table6 ON table1.pk = table6.fk6";

$result = mysql_query($sql);
if (mysql_num_rows($result) > 0) {
while($row = mysql_fetch_array($result)) { //display function
}


并且可以在mysql中使用完全外部联接吗?

最佳答案

如果查询失败,结果将为布尔值。
如果添加以下内容,输出是什么:

if($result === false) {
    var_dump(mysql_error());
}


Mysql不支持完全连接,但是请参见https://stackoverflow.com/a/4796911/3691688

另外,您应该为它们设置查询格式,以使其更易于阅读(例如,将单独的联接连接到它们自己的行并使用indets)

关于mysql - 使用内部联接在同一数据库中联接5个以上的表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32413628/

10-16 01:37