如何内连接 3 table
how to inner join 3 table
如何加入三个table,我有3个table,分别是buku、sedia和perpus,buku有属性idbuku、namapengarang、namabuku、penerbit、genre和tahunterbit.perpus 具有属性 idperpus、namaperpus 和 alamat.and sedia 具有属性 stok、idperpus 和 idbuku
我想问的是我试图用语法
内部加入 3 table
select * from buku inner join sedia where buku.idbuku =sedia.idbuku;
它有效,但是当我尝试时
select * from buku inner join sedia where buku.idbuku =sedia.idbuku inner join perpus where sedia.idperpus = perpus.idperpus;
代码错误,它表示警告:mysql_fetch_array() 期望参数 1 为资源,第 64 行给出的布尔值。
谁能告诉我该怎么办?
我的 php 代码仍然不能正常工作
<?php
include "koneksi.php";
$cari=$_POST["cari"];
$rbut=$_POST["rbut"];
if (isset($cari)||isset($rbut)){
$sql = "select * from buku where $rbut like '%$cari%'inner join sedia on buku.IDbuku = sedia.IDbuku inner join perpus on sedia.IDperpus = perpus.IDperpus;";
$result = mysql_query($sql);
}
elseif(!isset($cari)||!isset($rbut)){
$cari=$_POST["cari"];
$rbut=$_POST["rbut"];
$sql = "select * from buku";
$result = mysql_query($sql);
}
echo "
<table border='1'><tr><th>ID</th><th>Nama Pengarang</th><th>Nama Buku</th><th>Penerbit</th><th>Genre</th><th>Tahun Terbit</th></tr>";
while($row=mysql_fetch_array($result)){
echo "
<tr>
<td>$row[IDbuku]</td>
<td>$row[NamaPengarang]</td>
<td>$row[NamaBuku]</td>
<td>$row[Penerbit]</td>
<td>$row[Genre]</td>
<td>$row[TahunTerbit]</td>
</tr>";
}
echo "
</table>";
?>
您的where
条件必须是on
:
select *
from buku
inner join sedia on buku.idbuku =sedia.idbuku
inner join perpus on sedia.idperpus = perpus.idperpus;
有关连接语法的详细信息,请参阅 documentation。
** 更新 **
您的新查询有误:
$sql = "select * from buku inner join sedia on buku.IDbuku = sedia.IDbuku inner join perpus on sedia.IDperpus = perpus.IDperpus where $rbut like '%$cari%'";
如果您阅读文档,您会发现 where 语句必须在 joun 语句之后。
如何加入三个table,我有3个table,分别是buku、sedia和perpus,buku有属性idbuku、namapengarang、namabuku、penerbit、genre和tahunterbit.perpus 具有属性 idperpus、namaperpus 和 alamat.and sedia 具有属性 stok、idperpus 和 idbuku 我想问的是我试图用语法
内部加入 3 tableselect * from buku inner join sedia where buku.idbuku =sedia.idbuku;
它有效,但是当我尝试时
select * from buku inner join sedia where buku.idbuku =sedia.idbuku inner join perpus where sedia.idperpus = perpus.idperpus;
代码错误,它表示警告:mysql_fetch_array() 期望参数 1 为资源,第 64 行给出的布尔值。
谁能告诉我该怎么办?
我的 php 代码仍然不能正常工作
<?php
include "koneksi.php";
$cari=$_POST["cari"];
$rbut=$_POST["rbut"];
if (isset($cari)||isset($rbut)){
$sql = "select * from buku where $rbut like '%$cari%'inner join sedia on buku.IDbuku = sedia.IDbuku inner join perpus on sedia.IDperpus = perpus.IDperpus;";
$result = mysql_query($sql);
}
elseif(!isset($cari)||!isset($rbut)){
$cari=$_POST["cari"];
$rbut=$_POST["rbut"];
$sql = "select * from buku";
$result = mysql_query($sql);
}
echo "
<table border='1'><tr><th>ID</th><th>Nama Pengarang</th><th>Nama Buku</th><th>Penerbit</th><th>Genre</th><th>Tahun Terbit</th></tr>";
while($row=mysql_fetch_array($result)){
echo "
<tr>
<td>$row[IDbuku]</td>
<td>$row[NamaPengarang]</td>
<td>$row[NamaBuku]</td>
<td>$row[Penerbit]</td>
<td>$row[Genre]</td>
<td>$row[TahunTerbit]</td>
</tr>";
}
echo "
</table>";
?>
您的where
条件必须是on
:
select *
from buku
inner join sedia on buku.idbuku =sedia.idbuku
inner join perpus on sedia.idperpus = perpus.idperpus;
有关连接语法的详细信息,请参阅 documentation。
** 更新 ** 您的新查询有误:
$sql = "select * from buku inner join sedia on buku.IDbuku = sedia.IDbuku inner join perpus on sedia.IDperpus = perpus.IDperpus where $rbut like '%$cari%'";
如果您阅读文档,您会发现 where 语句必须在 joun 语句之后。