Php 将数据库中的图像显示为表中的单元格

Php 将数据库中的图像显示为表中的单元格,php,mysql,Php,Mysql,因此,我在实现一个赞助管理网站时遇到了一些问题。我知道将图像存储到数据库中可能会非常麻烦,但这是必需的(禁止在校园服务器中使用文件系统存储图像) 我创建了3个表: 存储文本信息的信息表 以BLOB方式存储图像的图像表,以及 一个id_表,用作保存图像id和信息id记录的参考表。 $result=mysql\u查询(“选择信息id、信息名称、信息年份、信息级别、信息电子邮件、信息描述自信息”); while($row=mysql\u fetch\u数组($result)) { 回显“$row

因此,我在实现一个赞助管理网站时遇到了一些问题。我知道将图像存储到数据库中可能会非常麻烦,但这是必需的(禁止在校园服务器中使用文件系统存储图像)

我创建了3个表:

  • 存储文本信息的信息表
  • 以BLOB方式存储图像的图像表,以及
  • 一个id_表,用作保存图像id和信息id记录的参考表。
$result=mysql\u查询(“选择信息id、信息名称、信息年份、信息级别、信息电子邮件、信息描述自信息”);
while($row=mysql\u fetch\u数组($result))
{
回显“$row['info_name']”;
回显“$row['info_year'”;
回显“$row['info_level']”;
回显“$row['info_email']”;
回显“$row['info_description']”;
$result\u image\u id=mysql\u query(“从id\u表中选择id\u image,其中id\u info='{$row['info\u id']}'”);
$row\u image=mysql\u fetch\u数组($result\u image\u id);
$result\u image=mysql\u query(“从图像中选择图像内容,其中图像\u id='{$row\u图像['id\u图像']}'”);
$row_2=mysql_fetch_数组($result_image);
$content=$row_2['image_stuff'];
回声“;
标题(“内容类型:图像/jpeg”);
echo$内容;
回声“;
回声“;
}
然后在浏览器中,我被重定向到一个空白页面。如果我删除了header函数,我在页面中确实有一个表,但在image列中没有任何内容

有什么建议吗

此外,我还尝试使用
”;
好消息是,它有点可行,但图像文件实际上并没有显示出来

在我的页面中有一个表,其中的image列中填充了图像文件,但看起来就像服务器没有找到图像一样


我想我的插入脚本不存在任何问题,因为当我应用img标记时,“无法显示”徽标只出现在单元格中,该单元格的行是我将图像文件上载到数据库中的行…

您不能使用这样的标题

试试那样的

echo "<img src='$content' />";
$result=mysql\u查询(“选择信息id、信息名称、信息年份、信息级别、信息电子邮件、信息描述自信息”);
while($row=mysql\u fetch\u数组($result))
{
回显“$row['info_name']”;
回显“$row['info_year'”;
回显“$row['info_level']”;
回显“$row['info_email']”;
回显“$row['info_description']”;
$result\u image\u id=mysql\u query(“从id\u表中选择id\u image,其中id\u info='{$row['info\u id']}'”);
$row\u image=mysql\u fetch\u数组($result\u image\u id);
$result\u image=mysql\u query(“从图像中选择图像内容,其中图像\u id='{$row\u图像['id\u图像']}'”);
$row_2=mysql_fetch_数组($result_image);
$content=$row_2['image_stuff'];
回声“;
回声';
回声“;
回声“;
}

更改您存储的任何类型的图像的png。我没有看太多代码,但这应该会起作用。

echo.“$row['post_image']”。

如果我没有对$content进行编码,我会将像作为任意图像的URL。无法显示“图像”“徽标内容出现在图像列中。我的图像插入脚本中是否有任何错误?
base64\u encode()
占用带宽,因为您需要将二进制图像转换为ASCII字符!为什么不将图像保存到磁盘上,或者最好不要将二进制图像存储到数据库中?将二进制映像的路径存储在可通过web访问的文件系统中。@YzmirRamirez“(禁止在校园服务器中使用文件系统存储映像)”引自OP.$sql_2=“插入映像(映像id、映像名称、映像内容)值(NULL,$_FILES[file][name],“$_FILES[file]”);如果(!mysql_query($sql_2,$con)){die('Error:'.mysql_Error());}我省略了其他部分,比如判断文件类型是否合法等等。请解释这如何帮助问题作者?
$result=mysql_query("SELECT info_id,info_name,info_year,info_level,info_email,info_describe FROM info");
while($row = mysql_fetch_array($result))
{
echo "<td>" . $row['info_name'] . "</td>";
echo "<td>" . $row['info_year'] . "</td>";
echo "<td>" . $row['info_level' ] . "</td>";
echo "<td>" . $row['info_email'] . "</td>";
echo "<td>" . $row['info_describe'] . "</td>";
$result_image_id = mysql_query("SELECT id_image FROM id_table WHERE id_info = '{$row['info_id']}'");
$row_image = mysql_fetch_array($result_image_id);
$result_image = mysql_query("SELECT image_stuff FROM image WHERE image_id = '{$row_image['id_image']}'");
$row_2 = mysql_fetch_array($result_image);
$content=$row_2['image_stuff'];
echo "<td>" ;
echo '<img src="data:image/png;base64,' . base64_encode($content) . '" />';
echo "</td>";
echo "</tr>";
}