2015-05-29 52 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