我正在尝试显示一个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中返回了数据。
答案 0 :(得分:1)
首先,我认为您在最后一个订购栏中有错字:应该为exp.total DESC
。
其次,除非您明确指定要使用点符号命名的列,否则它们将保留其列名,因此请尝试将最后一行更改为:
$exp = $row['overall'];
。
还可以考虑使用mysqli或PDO。