0

我是 php 新手。我有一个示例 mysql db,其中有一个名为 testdb 的表,其中包含 id(INT) 和 image(BLOB) 列。我已将图像上传到 testdb。上传成功。以下是php代码。变量 $conn 包含连接详细信息。我有一个 html 页面,它在提交时重定向到这个 php 页面。

<?php
$name = $_FILES["sample"]["name"];
echo $name . "<br/>";

$tmp_name = $_FILES["sample"]["tmp_name"];
echo $tmp_name . "<br/>";

$size = $_FILES["sample"]["size"];
echo $size . "<br/>";

$contents = file_get_contents($tmp_name);
$htmlen = htmlentities($contents);
$cont = mysql_real_escape_string($contents);

$query = "INSERT INTO testdb(image)
      VALUES ('$cont')";
$dbquery = mysql_query($query, $conn);
if($dbquery){
    echo "successfully inserted";
    }
else{
    echo "could not inserted" . mysql_error();
    }
?>

我正在尝试使用以下代码获取图像。但它显示的是字符串字符而不是图像。据我所知,这应该可以正常工作。

<?php
$query = "SELECT image, id
    FROM testdb ";
$dbquery=mysql_query($query , $conn);
if(! $dbquery){
    echo "Could not selected the data from database. " . mysql_error();
}
while( $row = mysql_fetch_array($dbquery) ){
    $decodeimg = html_entity_decode($row["image"]);
echo "<img src= $decodeimg/><br/> hellow orld <br/>";
}
?>

谁能帮我解决这个问题。提前致谢。

4

2 回答 2

0

而不是将实际图像存储在您的数据库中(这是多余的,因为它可能也存储在您的服务器上);为什么不将图像的路径存储为字符串,从数据库中查询字符串,然后使用 php.ini 将其附加到 'src' 属性中。

于 2013-07-24T02:06:44.580 回答
-1

BLOB image显示来自数据库时,我也遇到了同样的错误。我只是对这个问题使用解码方法....

$photo=$myrow['image'];    
echo '<img src="data:image/jpeg;base64,' . base64_encode( $photo ) . '" width="150" height="150" />
于 2013-07-24T05:56:20.550 回答