PHP显示存在MYSQL中的多张图片

大家好,我把图片存在了MYSQL数据库中,现在我想显示在WEB页面上。碰到了两个问题就是1,显示图片的PHP代码必须顶格写,前面如果有代码输出或有空格之类就会输出乱码。存... 大家好,我把图片存在了MYSQL数据库中,现在我想显示在WEB页面上。碰到了两个问题就是 1,显示图片的PHP代码必须顶格写,前面如果有代码输出或有空格之类就会输出乱码。存入没有问题,我就不列出了,显示图片代码详细如下:
<?php
// 连接数据库
$conn = mysql_connect("localhost", "root", "bowen");
mysql_select_db("books",$conn);
// 连接数据库查询
$sql="select * from image where id=111111";
$result=mysql_query($sql);
$num_results=mysql_num_rows($result);
$row=mysql_fetch_object($result);
echo $row->photo;
mysql_free_result($result);
mysql_close($conn);

?>
以上代码是正常的,可以显示一个图片,但如果写成下面这样,就会输出乱码。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
// 连接数据库
$conn = mysql_connect("localhost", "root", "bowen");
mysql_select_db("books",$conn);
// 连接数据库查询
$sql="select * from image where id=111111";
$result=mysql_query($sql);
$num_results=mysql_num_rows($result);
$row=mysql_fetch_object($result);
echo $row->photo;
mysql_free_result($result);
mysql_close($conn);

?>
</body>
</html>
这段代码就会输出乱码。
2。显示图片只能显示一张,我想显示多张时,就添加了一个循环。加了循环之后,还是只显示一张图片,我把正常代码加入循环语句后,如下:
<?php
// 连接数据库
$conn = mysql_connect("localhost", "root", "bowen");
mysql_select_db("books",$conn);
// 连接数据库查询
$sql="select * from image";
$result=mysql_query($sql);
$num_results=mysql_num_rows($result);
//echo $num_results;
for ($i=0;$i<$num_results;$i++)
{
$row=mysql_fetch_object($result);
//Header( "Content-type:image/jpg");
echo $row->photo;

}

mysql_free_result($result);
mysql_close($conn);
?>
这段代码还是只显示一张图片。循环中加入Header( "Content-type:image/jpg");变成了下载源文件,不知什么原因?
现在我有两个目的:1,在嵌入HTML中时,显示图片不要乱码。2,我想一段代码可以显示多张图片。求求各位大侠能帮帮我,指点指点小弟,我对PHP处理图像了解比较少。在此先谢谢大家。
展开
 我来答
scoolin
推荐于2016-07-09 · 超过31用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:85.1万
展开全部
建议你了解一下php和html的基本知识!
用header( "content-type:image/jpg")本来就是输出一张图片给客户端,header之前有其它字符输出当然会出错。即使是另一张图片
要显示多张图片请在html里写:<img src="你的php输出图片地址1" /><img src="你的php输出图片地址2" /><img src="你的php输出图片地址3" />

参考资料: http://cn.php.net/manual/en/function.header.php

ziyou038
2010-06-01 · TA获得超过192个赞
知道答主
回答量:277
采纳率:0%
帮助的人:113万
展开全部
把图片存放在MYSQL中。增加了MYSQL的负担,效率不好。
直接用php传到网站目录中。再获取路径存在MYSQL中就可以了。

调用出来。直接采用<img src="">显示图片就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vinson_shen
2010-06-01 · TA获得超过2503个赞
知道小有建树答主
回答量:960
采纳率:100%
帮助的人:0
展开全部
其实,我的建议你不要把图片直接存在MYSQL数据库中,而是只保留图片的路径到数据库的字段中(如设计一个字段ImagePath的方式),然后程序只需要从数据库读取路径显示图片即可。

ps:这样有利于大大提高数据库性能。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d75b30b6
2010-06-02 · 超过20用户采纳过TA的回答
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:67万
展开全部
这么多,看不明白啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式