内部连接数据库

时间:2015-12-13 10:37:42

标签: php mysql database jointable

我在数据库中有three tables

1引号

2类型

3-作者

在引号表中,我分配了type_id,它是types表中的主键,author_id也是authors表的主键。

现在,当我想以这种格式一次回应一个引用时。

"When you get to my age life seems little more than one long march to 
and from the lavatory."

 By: A. C. Benson   Category: age

那么如何连接这个数据库以获得这种类型的输出?

我试过这个,但它只输出报价。

 $sql = "SELECT * FROM quotes LIMIT 1";
 $result = $con->query($sql);
 if ($result->num_rows > 0) {

  while($row = $result->fetch_assoc()) {
     echo  " \" " . $row["quote"].  "\"<br><br>";
 }

1 个答案:

答案 0 :(得分:1)

您应该使用JOIN子句将引号的输出与类型和作者连接。

例如,如果每个引号都有一个字段type_id和author_id链接到其他表,那么这可能是这样的。

SELECT * FROM quotes JOIN types ON quotes.type_id = types.id JOIN authors ON quotes.author_id = author.id

在PHP中,这可能如下所示:

$sql = "SELECT * FROM quotes JOIN types ON quotes.type_id = types.id JOIN authors ON quotes.author_id = authors.id";
 $result = $con->query($sql);
if ($result->num_rows > 0) {

  while($row = $result->fetch_assoc()) {
     echo  " \" " . $row["quote"].  "\"<br>".$row["author"]." ".$row["type"] ."<br>";
 }

当你的表看起来像这样:

quotes:
id, quote, author_id, type_id

types:
id, type

authors:
id, author