开发者社区> 问答> 正文

从MySQL里读取的图片显示不出来问题

表images来存储档案照片,字段分为id,code,image三个部分。MySQL里的code用的是varchar,gb2312编码,image用的是longblob,下面是读取数据库的php代码 文件名是 image_create.php3

include("session.php");//连接数据库
mysql_query("SET NAMES 'GB2312'");
$code = $_GET["code"];  //获得显示页面的code值
$sql = "SELECT * FROM images WHERE code='".$code."'";
$result_2=mysql_query($sql);
$row_image=mysql_fetch_object($result_2); 
 
header("Content-type: image/jpeg");
echo $row_image->image;

php页面中的一部分,编码是gb2312的:

echo "<th class='maxwidth'>$col</th> 
<td>{$row["$i"]}</td>
<td rowspan='5' class='image'><img src='image_create.php3?code=".$code."' /></td>";

展开
收起
蛮大人123 2016-02-05 22:31:11 4186 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    请参考以下代码解决问题:

    <?php
     mysql_connect('localhost',"root","");
     mysql_select_db("image");
     $photo="./test.jpg";
    //存入
    $picdata    = file_get_contents($photo);
    $picdata    = base64_encode($picdata);  //在存入数据库前先进行Base64编码
    $sql        = "insert into pic(id,picdata) values('1','$picdata')";
    mysql_query($sql);
    ?>
    <?php
    //显示
    $sql        = "select * from pic where id=1";
    $result     = mysql_query($sql);
    $obj        = mysql_fetch_object($result);
    $data       = base64_decode($obj->picdata);  //Base64解码
    header("Content-type: image/gif");
    echo $data; 
    ?>
    2019-07-17 18:38:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像