2016-04-28 165 views
0

当我管理它插入到我的分贝数据库后,我试图从MySQL显示一个BLOB。从mySQL显示BLOB与PHP

这是getImage.php:

<?php 
    $id = $_GET['id']; 
    // do some validation here to ensure id is safe 

    $link = mysql_connect("localhost", "root", "root"); 
    mysql_select_db("user_auth_tutorial"); 
    $sql = "SELECT image FROM testblob WHERE image_id='$id''"; 
    $result = mysql_query("$sql"); 
    $row = mysql_fetch_assoc($result); 
    mysql_close($link); 
    header("Content-type: image/jpeg"); 
    echo $row['image']; 
?> 

这里的HTML:

<img src="getImage.php?id=1" width="200" height="200" /> 

这是我的数据库的内容: table testblob

不幸的是开发工具抛出一个内部服务器500错误。 Browser-Output: Screenshot

有人可以告诉我我做错了什么吗?

非常感谢!

+1

首先,你的代码很容易受到SQL注入。你不应该使用不推荐使用的'mysql_ *'方法。改用PDO或mysqli的参数化查询。其次,你的SQL语句最后有太多的'''字符。 – Chris

+0

谢谢你的提示 - 删除双'没有解决问题。 –

+0

这听起来像你需要[打开错误报告](http://stackoverflow.com/questions/845021/how-to-get-useful-error-messages-in-php),并找出问题所在。 – Chris

回答

-1

试试这个

echo '<img src="data:image/jpeg;base64,'.base64_encode($row['image']).'"/>';