破碎的文件图标从数据库php和mysql检索图像

时间:2015-04-23 12:11:55

标签: php database image blobstorage

我需要从数据库上传和检索图像,我能够将图像存储在数据库中,但以后无法显示。请帮忙 我编写了以下代码以从数据库中检索。

-DCMAKE_SYSTEM_VERSION

imageView.php具有以下代码:

  $result1=mysql_query("INSERT INTO userdata(id, username, firstname, lastname, imageType, image)VALUES('', '" . $_SESSION['username'] . "', '" . $_SESSION['firstname'] . "', '$lastname','{$image_size['mime']}','{$imgData}')") or die("Invalid query: " . mysql_error());
if($result1)
{
echo "</br>";
echo "Registration successful";
echo "</br>";
echo $lastid=mysql_insert_id();//get the id of the last record
echo "uploaded image is :"; ?>
<img src="imageView.php?image_id=<?php echo $lastid; ?>" /><br/>

<?php
echo "</br>";     
}#if result1into db successful
else 
{
echo $result1;
echo "Problem in database operation";

代码可能出现什么问题? 当我尝试使用静态ID运行 <?php $conn = mysql_connect("localhost", "root", ""); mysql_select_db("wordgraphic") or die(mysql_error()); if(isset($_GET['id'])) { $sql = "SELECT imageType,image FROM userdata WHERE id=". $_GET['image_id']; $result = mysql_query("$sql") or die("<b>Error:</b> Problem on Retrieving Image BLOB<br/>" . mysql_error()); $row = mysql_fetch_array($result); header("Content-type: " . $row["imageType"]); echo $row["image"]; } mysql_close($conn); ?> 时,将显示图像。所以我猜错误就是传递变量就是这段代码:

imageView.php

可能出现什么问题?

1 个答案:

答案 0 :(得分:0)

只是一个小修正

<img src="imageView.php?image_id=<?php echo $lastid; ?>" />

而不是这个  src = src路径,在那里保存图像文件,可以在图像文件夹中说明$imagedata将文件名存储在数据库中,以便您可以从图像文件夹中检索它

<img src="images/$imgData" width="your wish" height="your wish"/>