首先,我要开始使用php语言,但实际上只是开始通过这个小项目来学习它,以创建一个小型电影数据库。
在了解php代码本身之前,有一些背景知识–数据库称为movie_library,它包含3个表,分别称为movie,movie_format和movie_genre。电影具有字段ID,标题,流派和格式(即DVD /蓝光)。 movie_format和movie_genre表的目的是使输入更加容易,因此,我将这些表设置为链接到其各自字段的外键。
下面是相关的代码片段。 $ conn变量只是数据库连接代码。
$result = $conn->query("SELECT * FROM movies") or die("Bad Query: $sql");
echo"<table border='2'>";
echo"<tr><td>ID</td><td>Title</td><td>Genre</td><td>Format</td></tr>";
while($row = mysqli_fetch_assoc($result)) {
echo"<tr><td>{$row['id']}</td><td>{$row['title']}</td><td>{$row['genre']}</td><td>{$row['format']}</td></tr>";
}
此代码本身在技术上可以正常工作,但是我遇到的问题是,由于我提到的2个表使用外键,因此该表最终看起来像这样:
很明显,类型和格式字段应该是单词而不是数字,所以这是我的问题所在。任何解决此问题的帮助将不胜感激!
编辑: 将代码更改为
$result = $conn->query("SELECT * FROM movies
LEFT JOIN movie_format ON movies.format = movie_format.id
LEFT JOIN movie_genre ON movies.genre = movie_genre.id")
这给了我这个输出:
无论出于何种原因,ID字段和流派字段都是链接的,但是代码与适用于Format的代码几乎完全相同。