PHP从3个不同的表输出数据

时间:2018-09-28 17:23:04

标签: php sql

我正在尝试显示一个HTML表,其中包含来自MySQL数据库中3个不同表的信息。但是我不确定如何显示第三张表中的信息。

当前我正在使用的是:

        $SQL = "SELECT members.*, exp.*, lvl.* 
          FROM members 
          INNER JOIN exp ON members.id = exp.member_id
         INNER JOIN lvl ON members.id = lvl.member_id
        ORDER BY lvl.level DESC, 
      lvl.total DESC, xp.total DESC";
        $result = mysql_query($SQL) or die(mysql_error());
        $count = 1;
        while ($row = mysql_fetch_assoc($result)) { 
        $level = $row['level'];
        $exp = $row['exp.overall'];
        }

$ level是从正确抓取的第二张表中获得的,而$ exp是我要从第三张表“ exp”中抓取到的,但它不返回任何内容

如何更改此设置,因为在使用$ row []时,此刻它似乎只是集中在“ lvl”表中的数据上

编辑:lvl和exp表在“ overall”中都有一行,这就是为什么使用$row['overall']不会返回我想要的内容,因为它从lvl表而不是exp中返回了数据。

1 个答案:

答案 0 :(得分:1)

首先,我认为您在最后一个订购栏中有错字:应该为exp.total DESC。 其次,除非您明确指定要使用点符号命名的列,否则它们将保留其列名,因此请尝试将最后一行更改为: $exp = $row['overall'];

还可以考虑使用mysqli或PDO。