如何在一个HTTP响应中使用PHP从Mysql提供4个图像(blob)?
我正在尝试使用PHP和MySQL数据库显示4个图像。我必须将4个图像显示为行 我使用带有字段的cars表(如何在一个HTTP响应中使用PHP从Mysql提供4个图像(blob)?,php,mysql,image,Php,Mysql,Image,我正在尝试使用PHP和MySQL数据库显示4个图像。我必须将4个图像显示为行 我使用带有字段的cars表(id\u car,car\u image1,car\u image2,car\u image3,car\u image4),所有图像都是blob数据类型 $id = $_GET['id']; $link = mysql_connect("localhost", "root", ""); mysql_select_db("cars_database"); $sql = "SELECT car
id\u car
,car\u image1
,car\u image2
,car\u image3
,car\u image4
),所有图像都是blob数据类型
$id = $_GET['id'];
$link = mysql_connect("localhost", "root", "");
mysql_select_db("cars_database");
$sql = "SELECT car_image1, car_image2, car_image3, car_image4 FROM cars WHERE id_car='$id'";
$result = mysql_query("$sql");
mysql_close($link);
while($row=mysql_fetch_array($result))
{
header('Content-type: image/jpeg');
echo $row['car_image1'];
echo $row['car_image2'];
echo $row['car_image3'];
echo $row['car_image4'];
}
我只能显示一个图像,不能显示其他图像。因为我是这项技术的新手,所以我需要帮助。这就是HTTP的工作原理(至少是当前版本):您不能同时拥有指向多个资源的URL。您的脚本需要发送一个图像
简单地说,叫它四次:
您需要定义图像的路径
<?php
while($row=mysql_fetch_array($result))
{
header('Content-type: image/jpeg');
?>
<img src="path<?php echo $row['car_image1']; ?>" alt="" />
<img src="path<?php echo $row['car_image2']; ?>" alt="" />
<img src="path<?php echo $row['car_image3']; ?>" alt="" />
<img src="path<?php echo $row['car_image4']; ?>" alt="" />
<?php
}
?>
“alt=”“/>
“alt=”“/>
“alt=”“/>
“alt=”“/>
检查从2到4的图像路径。他们说得对吗。在IE中打开它,如果您看到断开的图像,则说明路径中存在一些问题,路径为标题('Content-type:image/jpeg')代码>您只能显示一个图像,浏览器将只解析第一个图像并删除其余图像(或者崩溃,甚至取决于它的编程程度)。你能做的就是从四个图像中创建一个图像,然后为这一个图像服务。您可以使用像gd:-这样的图像库来实现这一点,但您的问题并不清楚您到底想要什么。此外,示例代码中还存在SQL注入的安全问题。要么清理“id”,要么使用预先准备好的语句(更好)。好吧,你也可以从四个映像中创建一个映像,因为这是PHP,那么这可能是你要求的吗?到目前为止,我还不清楚这个问题。如果你想在HTML中插入内联图像,你不能只插入原始的二进制数据。您需要将其编码为一个正确的。但我不建议将其作为插入图片的一般方法。
<?php
while($row=mysql_fetch_array($result))
{
header('Content-type: image/jpeg');
?>
<img src="path<?php echo $row['car_image1']; ?>" alt="" />
<img src="path<?php echo $row['car_image2']; ?>" alt="" />
<img src="path<?php echo $row['car_image3']; ?>" alt="" />
<img src="path<?php echo $row['car_image4']; ?>" alt="" />
<?php
}
?>