2015-05-29 81 views
0

如何加入三表,我有3表是布库,sedia和perpus,布库有属性idbuku,namapengarang,namabuku,penerbit,流派,和tahunterbit.perpus有属性idperpus,namaperpus和alamat.and SEDIA有属性STOK,idperpus和idbuku 我想问的是我试图内加入3表,语法如何内连接3表

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>"; 
       ?> 
+0

查看mysql_fetch_array()的文档。当你处于这个状态时,请注意,它有很大的弃用警告。使用PDO或Mysqli并阅读使用情况。 – Burki

+0

在你的数据库中运行它,看看你是否得到任何结果。 – sqluser

+0

我已经尝试在分贝,它不会显示任何东西,它说错误 – DovahVinn

回答

0

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语句后。

+0

谢谢队友,它不会再给出任何错误消息^ _ ^ – DovahVinn