如何使用PHP从MySQL数据库显示图像

时间:2014-09-12 15:54:44

标签: php mysql database blob

我想将我的MySQL数据库中的图像显示到我正在处理的网站上,但是当我访问该网站时,我只看到一个图像损坏或符号很多的框。

在我的MySQL数据库中,图像类型为LONGBLOB(MIME:image / jpeg)。

这是我正在使用的代码(我在PHP代码之前有HTML代码,所以我使用缓冲区)。

<?php

mysql_connect("localhost", "root", "") or die('connection error');
mysql_select_db("produse");


$per_page = 25;
$pages_query = mysql_query("SELECT COUNT('id') FROM filtrederetea");
$pages = ceil(mysql_result($pages_query, 0) / $per_page);

$page = (isset($GET['page'])) ? (int)$GET['page'] : 1;
$start = ($page -1) *$per_page;
$query = mysql_query("SELECT * FROM filtrederobinet");
echo "<table>";
if(isset($_GET["id"]))
{
    $id = mysql_real_escape_string($_GET['id']);
    $query = mysql_query("SELECT * FROM filtrederetea");
    while ($query_row = mysql_fetch_assoc($query)) {
        $imagedata = $query_row['img'];
        '<img src="data:image/jpeg;base64,' . base64_encode($query_row['img']);
    };
    header('Content-Type: image/jpeg');
    echo "($imagedata)";
}
else
    echo "error";


while ($query_row = mysql_fetch_assoc($query)) {

    echo "<tr>";
    echo "<td>";
    echo.$query_row["img"];
    echo "</td>";
    echo "<td>";
?>
<img src=<?php echo $query_row["img"]; ?> width="130" height="130">
<?php
    echo "</td>";
    echo "</tr>";
}
echo "</table>";

if ($pages >=1) {

    for ($x=1;$x<=$pages;$x++) { 
        echo '<a href="?page'.$x.'">'.$x.'</a> ';
    }
}
ob_end_flush()
?>

0 个答案:

没有答案