如何使用PHP从MySQL检索多个图像?

时间:2013-09-20 08:54:40

标签: php mysql

我可以使用php从mysql数据库中检索单个图像。

现在我想要检索多个图像。

这是一段代码:

<?php
 --db connection code--
 $sql = "SELECT image FROM try WHERE status='0'";
 $result = mysql_query("$sql") or die("Invalid query: " . mysql_error());
 while ($row = @mysql_fetch_assoc($result))
 {
   // set the header for the image
   header("Content-type: image/jpeg");
   echo mysql_result($result, 0);
   echo '<br>';
 }
?>

执行此代码时,仅显示表格中的第一个图像。 如何检索多个图像?

3 个答案:

答案 0 :(得分:1)

您正在使用Content-type: image/jpeg,这意味着它只能返回一个图像,因为浏览器只会期望一个。如果要返回多个图像进行下载,则必须采取一些解决方法。

一种选择是首先将文件打包成一个文件(如ZIP存档),然后将其推送给用户。

或者,如果您不想将其作为下载推送,请创建一个HTML页面,其中包含指向图片的图片链接。每个链接当然只返回一个。

答案 1 :(得分:0)

您需要在result_mysql

中传递循环计数器
$count=0;
 while ($row = @mysql_fetch_assoc($result))
 {
   // set the header for the image
   header("Content-type: image/jpeg");
   echo mysql_result($result,$count);

   $count++;
 }

请勿使用错误抑制器@

mysql_result

  

注意:请不要在新代码中使用mysql *函数   在较新版本中删除使用mysqli *或PDO

答案 2 :(得分:0)

由于 Content-type:image / jpeg 仅返回单个图像,因此应考虑在数据库表中保存图像的路径。稍后,在获取所有这些内容并回显html中的源元素时,您将不会遇到任何问题。