来自sql数组的图像没有显示出来

时间:2012-12-11 23:59:29

标签: php html sql

我正在尝试将我的sql表中的前5个图像NEWS连续出现。当我尝试这个时,会出现一排空图像框。 collumn image表示图像的目录。我仔细检查以确保它是确切的目录。

<?php 
   $leaders=mysql_fetch_array(mysql_query("SELECT `image` FROM news ORDER BY ID DESC LIMIT 5"));
   for ($i=1; $i<=5; $i++)
      {
?>
<img src="<?php echo($leaders[$i])?>" style="width: 200px; height: 200px;"></img>
<?php
   }
?>

有人知道图片没有出现的原因吗? 另外,我在sql命令行客户端上测试了它。在

SELECT `image` FROM news ORDER BY ID DESC LIMIT 5

确实会显示图片网址。它应该工作。

2 个答案:

答案 0 :(得分:2)

mysql_fetch_array(不推荐使用)返回1行,而不是整个结果集。你需要它来获取另一行。像这样的东西会起作用:

 <?php 
  $leaders=mysql_query("SELECT `image` FROM news ORDER BY ID DESC LIMIT 5");
  while($row = mysql_fetch_array($leaders)){
   ?>
     <img src="<?php echo($leaders['image'])?>" style="width: 200px; height: 200px;"></img>
  <?php
  }

但严肃的是,请关注PDO&amp;开始转换。

答案 1 :(得分:1)

你误解了mysql_fetch_array的工作原理。它从结果集(您的第一个图像)中获取一行,因此您必须遍历所有结果才能获取所有图像。

但是你应该在PDO / mysqli中这样做,因为mysql_*函数已被弃用。