如何使用PHP(内部联接)在SQL中显示多个表的内容

时间:2014-05-29 19:40:16

标签: php mysql

给出以下代码:

   <?php
include "connect.php";
$query = "select d.Name,d.Image,d.Main_Style,g.ID,g.Name from dj d inner join genres g     on g.ID=d.Main_Style  order by d.Name";

$exec = $mysql->query($query) or die("Erreur");
$n = $exec->num_rows;

if($n > 0)
{
    echo '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
      <html><table>';

for($i=0;$i<$n;$i++)
{
    $row = $exec->fetch_array();

      //echo '<tr><td></td><td><a href='DJ.php?id=$row[ID]'>$row[Name]</a></td><td>$row[Main_Style]</td></tr>';
      echo "<tr><td><img src=\"$row[d.Image]\" width=\"100\" height=\"100\"/></td><td><a href='DJ.php?id=$row[ID]'>$row[Name]</a></td><td>$row[Main_Style]</td></tr>";
}
echo '</table></html>';
}


include "disconnect.php";
?>

你可以看到我在php代码$row[d.image]里面用来在表d中显示image的内容,但是有一个错误,如何解决这个问题? >$row[Name]和其他变量工作得很好

1 个答案:

答案 0 :(得分:1)

MySQL查询中的字段“d.Image”没有传输到结果,表名被删除。

MySQL返回的结果中的相应列仅命名为“Image”。

要解决您的问题,请将$row[d.Image]更改为$row[Image],就像您正在使用其他字段(ID,Name和Main_Style)一样。