【问题标题】:joining more than 5 tables in the same database using inner join使用内连接在同一个数据库中连接超过 5 个表
【发布时间】:2015-12-01 12:45:11
【问题描述】:

我在同一个数据库中有 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中可以使用全外连接吗?

【问题讨论】:

标签: mysql join inner-join outer-join


【解决方案1】:

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

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

Mysql 不支持完全连接,但是请参阅https://stackoverflow.com/a/4796911/3691688 以了解解决方法

此外,您应该格式化查询以使其更易于阅读(例如,单独连接到自己的行并使用 indets)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-11
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    相关资源
    最近更新 更多