2016-05-12 62 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