php - 使用 PHP 显示来自 Mysql 的图像

标签 php mysql

这是我的表在我的数据库中的样子。我正在尝试显示我存储的图像,它是一个 mimetype (longblob) 。当我运行代码时,它会给我一个带有 ? ,只有那个框没有错误。有谁知道错误是什么以及我该如何解决?

Display
+-------+------------+----------+
| Index | Display_ID | Picture  |
+-------+------------+----------+
|     1 |         12 | longblob |
+-------+------------+----------+


<?php
    $mysqli=mysqli_connect('localhost','root','','draftdb');


    if (!$mysqli)
        die("Can't connect to MySQL: ".mysqli_connect_error());

    $imageid= 12;

    $stmt = $mysqli->prepare("SELECT PICTURE FROM display WHERE DISPLAY_ID=$imageid"); 
    $stmt->bind_param("i", $imageid);

    $stmt->execute();
    $stmt->store_result();

    $stmt->bind_result($image);
    $stmt->fetch();

    header("Content-Type: image/jpeg");
    echo $image; 
?>

最佳答案

这个:

$stmt = $mysqli->prepare("SELECT PICTURE FROM display WHERE DISPLAY_ID=$imageid");

应该是:

$stmt = $mysqli->prepare('SELECT PICTURE FROM display WHERE DISPLAY_ID=?');

您直接将变量嵌入到查询中,而不是像您打算的那样实际使用绑定(bind)变量。

关于php - 使用 PHP 显示来自 Mysql 的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11683989/

相关文章:

php - 使用 PHP 替换前面带有 MB 或 GB 的不同数字

php - 选择他们的(timeStamped)生日晚 X 天的用户

php - 远程访问EC2上的mysql

mysql - 使用通配符进行搜索的存储过程

mysql - 什么版本以及如何在商业项目中使用免费的 MySQL DBMS?

mysql - 数据库查询所需结果

php - 选择 2 个不同的字段,但还返回其余列

php - 在PHP中处理错误或意外结果的最可靠方法是什么?

php - mysql - 通过选择他们的名字来计算每个用户的状态

php - 内容安全策略 Internet Explorer 错误