gpt4 book ai didi

php - 如何使用 php 和 mysql 从多列中检索和输出图像?

转载 作者:行者123 更新时间:2023-11-29 03:12:15 25 4
gpt4 key购买 nike

更新:

我的 SQL 表中有十列:id、imgid、urlid、image1、image2、image3、image4、image5 和 comment。 id、imgid、urlid都是int类型。 Image[1-5] 是 mediumblob 类型。 url 和评论是文本类型。 imgid是上传的图片数量(应该是5张),urlid是提交的url数量(现在应该是1个),url保存的是url,comment保存的是用户评论。我想连续检索并输出图像列中的所有图像数据,但页面图标被撕裂。我使用 front.php 输出图像,使用 get.php 将图像转换为可视格式。

这是我的 front.php:

<?php

mysql_connect ("","","") or die(mysql_error());
mysql_select_db ("") or die(mysql_error());



$defaultqry = mysql_query ("SELECT * FROM dbp");

while($row = mysql_fetch_assoc($defaultqry))
{



echo ($row['image1'] != NULL) ? '<img src="get.php?id='.$row[id].'&col=1 " width="30" height="30"/> ' : '';
echo ($row['image2'] != NULL) ? '<img src="get.php?id='.$row[id].'&col=2 " width="30" height="30"/> ' : '';
echo ($row['image3'] != NULL) ? '<img src="get.php?id='.$row[id].'&col=3 " width="30" height="30"/> ' : '';
echo ($row['image4'] != NULL) ? '<img src="get.php?id='.$row[id].'&col=4 " width="30" height="30"/> ' : '';
echo ($row['image5'] != NULL) ? '<img src="get.php?id='.$row[id].'&col=5 " width="30" height="30"/> ' : '';

}
?>

这是我的 get.php:

<?php

mysql_connect ("","","") or die(mysql_error());
mysql_select_db ("") or die(mysql_error());


$query = mysql_query("SELECT * FROM dbp WHERE id = ".mysql_real_escape_string($_GET['id']));
$row = mysql_fetch_array($query);

$col = intval($_GET['col']);

if(isset($row['image'.$col]) && $row['iamge'.$col] != NULL){
$content = $row['image'.$col];
}else{
exit; // col is not existent, or image is empty
}

header('Content-type: image/jpg');
echo $content;
exit;




?>

最佳答案

首先,您使用数据库,在其中存储数据而不是文件。 (您应该将文件的链接/路径存储在数据库中而不是图像本身,这只会破坏您的数据库并使其变慢)参见Storing Images in DB - Yea or Nay?有关此主题的更多信息。

但如果你想这样做,那么你将不得不输出行的 ID 和列标识符,例如:

echo ($row['image1'] != NULL) ? '<img src="get.php?id='.$row['id'].'&col=1 " width="30" height="30"/> ' : '';

在你的 get.php 中:

mysql_connect ("localhost","","") or die(mysql_error());
mysql_select_db ("") or die(mysql_error());

$query = mysql_query("SELECT * FROM dbp WHERE id = ".mysql_real_escape_string($_GET['id']));
$row = mysql_fetch_array($query);

$col = intval($_GET['col']);

if(isset($row['image'.$col]) && $row['image'.$col] != NULL){
$content = $row['image'.$col];
}else{
exit; // col is not existent, or image is empty
}

header('Content-type: image/jpg');
echo $content;
exit;

关于php - 如何使用 php 和 mysql 从多列中检索和输出图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6210560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com