0

重複した質問のようですが、すでに投稿されているすべての回答を試しました。

これは私のコードです

include"db.php";
//$poster_id=1;
$sql = "SELECT pi.full_name,pi.poster_img,pi.poster_tag,
         p.post_title,p.post_description,p.post_tag,
         p.post_snap
 FROM POSTS p JOIN POSTER_INFO pi ON p.poster_id=pi.auth_id";
   $result = mysql_query($sql) or die(mysql_error());
echo mysql_error();
$msg=" ";
while($row = mysql_fetch_array($result)) {

$msg_footer="<div class='post_footer'>";
$msg_footer=$msg_footer."<div class='post_img'>";
$msg_footer=$msg_footer."<img  src='". 'data:image/jpeg;base64,' . base64_encode( $row[6] ) ."'  width='330' height='130' /></div>";
$msg_footer=$msg_footer."<div class='post_author'><div  class='author_img'><img  src='". 'data:image/jpeg;base64,' . base64_encode( $row[1] ) ."'  width='80' height='80' /></div>";
$msg_footer=$msg_footer."<div class='author_info'><b>". $row[0] ."</b><br/><span style='font-size:11px'>". $row[2] ."</span><br/><span style='font-size:10px'>1  Post</span></div></div></div>";

$msg .= " <li><br/><span class='post_title'>". $row[3] ."</span><br/><br/><span class='post_description'>" . $row[4] . "</span></li>";
$msg .=$msg_footer;  //WARNING POINTING TO THIS LINE
}

while ループの最後の行を指す警告が表示されます。

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\labs\load_data.php on line 40

SQLエディターとphpページで実行しようとしたため、SQLクエリは正しいです。このような

<?php
$sql = "SELECT pi.full_name,pi.poster_img,pi.poster_tag,
         p.post_title,p.post_description,p.post_tag,
         p.post_snap
 FROM POSTS p JOIN POSTER_INFO pi ON p.poster_id=pi.auth_id";
   $result = mysql_query($sql) or die(mysql_error());
echo mysql_error();

   while($row = mysql_fetch_array($result)) {
?>
<tr>
  <td><?php echo $row[0]; ?></td>
  <td><?php echo $row[2]; ?></td>
  <td><?php echo $row[3]; ?></td> 
</tr>
<?php }
?>

この場合、警告は表示されません。

4

2 に答える 2

0

クエリが失敗していると思うので、クエリ リソースの代わりにブール値の FALSE を生成します。しかし、2番目のものが正常に動作するのは非常に奇妙です..

于 2013-06-22T13:34:10.540 に答える