2016-05-12 61 views
0

您好,我想加入3個表,並從他們那裏得到的所有信息表名:最愛,圖片,帖子MySQL查詢錯誤3表連接

最愛表存儲:用戶ID,帖子ID(此表是最喜歡的廣告)

圖像錶店:帖子ID,路徑(1-5)

職位表用於存儲後的所有信息:ID,用戶ID,職稱等

所以我現在做的SQL查詢巫應選擇一切fav和joing帖子和圖片在$_session["userid"] = to userid 這怎麼它看起來像:

<?php 

        $userid = $_SESSION["userid"]; 

        $sql = "SELECT * FROM fav f JOIN posts p ON f.postid = p.id JOIN images i ON p.id = i.postid WHERE userid='$userid' "; 
        $res = mysqli_query($connect,$sql); 
        while ($row = mysqli_fetch_assoc($res)) { 
         $postid = $row["postid"]; 
         ?> 
         <div id="ads"> 
          <div id="titlepic"> 
          <a href="review.php?id=<?php echo $postid; ?>"><?php echo $row["title"]; ?></a><br> 
          <a href="review.php?id=<?php echo $postid; ?>"><img src="<?php if(!empty($row["path1"])) { echo $row["path1"]; } else echo "image/noimage.png"; ?>" height="100px" width="150px"></a> 
          </div> 

          <div id="dates"> 
           <b>Date Added:</b> <?php echo date('m/d/Y H:i', $row["dateadded"]); ?><br> 
           <b>Renew Date:</b> <?php if($row["renewdate"] > 0){ echo date('m/d/Y H:i', $row["renewdate"]); } ?><br> 
           <b>Location:</b> <?php echo $row["location"]; ?><br> 
           <b>Price:</b> <?php echo $row["price"]."&pound"; ?><br> 

          </div> 
         </div> 
         <hr width="100%"> 
         <?php 
        } 

       ?> 

,但我得到的錯誤後,我把這樣"Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\wamp\www\project\fav.php on line 129"

哪裏出了問題我不明白,因爲如果我不這樣做WHERE部分WHERE userid='$userid'錯誤的聲音一切正常,沒有警告和錯誤

+0

您的查詢失敗,然後您需要找出是什麼。請參閱以下鏈接http://php.net/manual/en/mysqli.error.php和http://php.net/manual/en/function.error-reporting.php 並將其應用於您的代碼。 –

回答

1

更改查詢

$sql = "SELECT f.*,p.*,i.* FROM fav f JOIN posts p ON f.postid = p.id JOIN images i ON p.id = i.postid WHERE f.userid='$userid' "; 

我假設userid屬於fav,如果它屬於這些表,則將其更改爲p.userid或i.userid。

+0

好,所以這個問題解決你的樣本f.userid ='$ userid'不要使用所有的查詢cuz仍然不是先進的和你的看起來很困難 – yahoo5000

1

這個錯誤的意思是說,你的查詢有問題,所以試着在phpmyadmin中運行你的查詢來查看錯誤來自哪裏。

也許你的問題:

userid是在查詢曖昧

因此選擇其表必須在條款F或P :)

+0

是也告訴phpmyadmin所以我使用Rishi sampe,並做到這一點f.userid – yahoo5000