我正在尝试将我的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
确实会显示图片网址。它应该工作。
答案 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_*
函数已被弃用。