php - 使用 PHP 从 MySQL 数据库检索 Blob 图像

标签 php mysql image

我使用 PHP 和 Mysql 将图像存储在 MySQL 数据库中。图像存储在名为 B_Image 的 Blob 字段中。但是,当我尝试检索图像时,它显示字符而不是图像。

我知道我仍然需要编写一些代码来验证某些细节。但首先我想尝试看看它是否会上传和检索图像。

您能帮我显示图像吗?

我的UploadImage.php代码:

include"config.php"; //code to connect to my database

     $file =$_FILES['txtBookCover']['tmp_name'];

$Title = $_POST[txtBookName];
        $Author = $_POST[txtBookAuthor];
        $ISBN = $_POST[txtISBN];
        $Type = $_POST[lstGenre];

         $image = addslashes(file_get_contents ($_FILES['txtBookCover']['tmp_name']));
        echo $image_name = addslashes($_FILES['txtBookCover']['name']);
         $image_size = getimagesize($_FILES['txtBookCover']['tmp_name']);

     $SqlStatement= "INSERT INTO Books(B_Title, B_Author, B_ISBN, B_Image, B_ImageName) VALUES('$Title', '$Author', '$ISBN','$image','$image_name')";
if (mysql_query($SqlStatement)) {

    print "Image has been uploaded!";

    }
    else
    {

    print "Error uploading image";
    }

我的 DisplayImg.php 代码:

    include"config.php";
$SqlStatement="select B_Image,B_Author,B_ID FROM Books where B_Author='ff'";
$result=mysql_query($SqlStatement);

if (mysql_query($SqlStatement)) {


    echo"hellooo";

    while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
    echo 
         "Author : {$row['B_Author']} <br>" . 
         "ID : {$row['B_ID']} <br><br>";

         echo "<br>";


         header('Content-type: image/jpg');
         echo "Image: {$row['B_Image']}<br>";        
} 

}

else

{
echo "error";   
}

最佳答案

我认为将图像存储在数据库中是一个坏主意。通常我们在数据库中只存储的是图片的路径,而图片本身则存储在服务器上。祝你好运。 :)

关于php - 使用 PHP 从 MySQL 数据库检索 Blob 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30544259/

相关文章:

php - 在 laravel 中使用 ajax 提交表单时找不到 404

python - Django通过外键查询订单(反方向)

php - 升级到 MySQLi - 就像将 mysql 换成 mysqli 一样简单?

python - 如何使用 SURF 功能(Python OpenCV)匹配和对齐两个图像?

wpf - 如何以编程方式在 wpf datagrid 列中显示图像?

图像下的 HTML、CSS 中心 H1 和 P

javascript - 如何使用序列化(jQuery/Ajax)循环表单数据

php - 安全地发送纯文本密码?

php - 试图获取非对象 CodeIgniter 框架的属性

mysql - 学生连续缺课5天(节假日除外)