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

如何使用PHP从MySQL检索多个图像?,php,mysql,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)) {

我能够使用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>';
 }
?>

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

您使用的是
内容类型:image/jpeg
,这意味着它只能返回一个图像,因为浏览器只需要一个图像。如果你想返回多个图片下载,你必须做一些变通

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


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

您需要在
result\u 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*函数 在较新版本中使用mysqli*或PDO进行定价


作为内容类型:图像/JPEG只返回单个图像,您应该考虑保存数据库表中的图像路径。稍后,您将不会有任何问题获取所有这些元素并在html中回显源元素。

Db structure?Db数据?不能在一个PHP文件中以
标题显示多个文件(“内容类型:image/jpeg”)第一个图像显示,因为
mysql\u结果($result,0)
当您从web服务器请求url时,您通常只请求一个文件,因为您的标题只是
内容类型:image/jpeg
结果也是一个文件。虽然存在多部分响应,但我目前不知道它们的支持程度如何。“image”是一个文件名?mysql()已被弃用
echo
标题(“内容类型:图像/jpeg”)
你在开玩笑吗?@t.niese我试着指向mysql\u结果($result,0)错误也有others@dianuj当然可以,但是如果你发布了一个应该更改的答案,并复制了无效的代码,只是修复了其中的一部分,那么阅读这个答案的其他人也会产生误导。我认为最好将整个无效代码块保留为需要更改的正确状态。或显示正确的代码块。