0

我使用以下代码从数据库中显示图像此代码以不可读的格式获取图像,在数据库中我在“blob”中创建图像类型请帮助我在用户输入图像名称时动态显示图像它应该显示仅图像

我的数据库表表名存储

id | name |image
---------------
1 |  xxxx| (image)

<?php
mysql_connect("localhost","root","")or die(mysql_error());
mysql_select_db("databaseimage") or die(mysql_error());

$query = "SELECT * FROM store where fname = 'ss' ";

$info = mysql_query($query) or die(mysql_error());

$num = mysql_num_rows($info);




$sql ="select image from store where fname = 'ss' ";

$result = mysql_query($sql) or die(mysql_error());

if($result){
    echo'
<table align="center" cellspacing="0" cellpadding="5" bgcolor="#ffffff" border=1   bordercolor="#2696b8">
            <tr>

</tr>';


while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
                echo'<tr>


<td align="center" width="150" height="200"><img src="datadesign.php' . $row['image'] . '">


</tr>';
                    }
    echo'</table>';
}

else{
    echo'<h1> System Error </h1> table ';
    exit();
}
mysql_close();
?>
4

2 回答 2

0

基本上有两种可能的选择。是否使用数据 URI 方案 ( http://en.wikipedia.org/wiki/Data_URI_scheme )。我通常更喜欢使用 2 个没有数据 uri 的脚本。这些只是给你一个想法的例子,所以你可能需要编辑代码。

1. 您需要 2 个脚本来创建带有图像的表格。

表.php

<table align="center" cellspacing="0" cellpadding="5" bgcolor="#ffffff" border=1   bordercolor="#2696b8">
<tr>
<td align="center" width="150" height="200"><img src="image.php?image_id=1">
</tr>
</table>

图像.php

mysql_connect("localhost","root","")or die(mysql_error());
mysql_select_db("databaseimage") or die(mysql_error());
$sql ="select image from store where id= '".intval($_GET['image_id'])."' ";
$result = mysql_query($sql) or die(mysql_error());
header('Content-Type: image/png');
if($result){
  $row = mysql_fetch_row($result);
  echo $row['image'];
  mysql_close();
}
else
{
  echo readfile('/your/path/error/image.png');
}

2. 您需要 1 个脚本来创建带有图像的表格。

表.php

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

$query = "SELECT * FROM store where fname = 'ss' ";

$info = mysql_query($query) or die(mysql_error());

$num = mysql_num_rows($info);
if ($num > 0)
{
echo'
<table align="center" cellspacing="0" cellpadding="5" bgcolor="#ffffff" border=1   bordercolor="#2696b8">
            <tr>

</tr>';


while($row = mysql_fetch_array($info, MYSQL_ASSOC)){
                echo'<tr>


<td align="center" width="150" height="200"><img src="data:image/png;base64,'.base64_encode($row['image']). '">


</tr>';
                    }
    echo'</table>';
}
 mysql_close();
于 2013-08-22T06:45:15.510 回答
0

尝试这个 :

header("Content-type: image/jpeg");
     echo mysql_result($result, 0);
于 2013-08-22T06:42:57.330 回答