【问题标题】:Display BLOB from mySQL with php使用 php 从 mySQL 显示 BLOB
【发布时间】:2016-08-23 20:41:36
【问题描述】:

在我设法将 blob 插入我的数据库后,我试图从 MySQL 显示一个 BLOB。

这是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" />

这是我的数据库的内容:

不幸的是,Dev-Tools 引发了内部服务器 500 错误。 浏览器输出:

谁能告诉我我做错了什么?

非常感谢!

【问题讨论】:

  • 首先,您的代码容易受到 SQL 注入的攻击。您不应使用已弃用的 mysql_* 方法。改为使用带有 PDO 或 mysqli 的参数化查询。其次,你的SQL语句末尾有太多'字符。
  • 感谢您的提示 - 删除双 ' 并没有解决问题。
  • 听起来你需要turn on error reporting 并找出问题所在。

标签: php html mysql blob


【解决方案1】:

试试这个

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

【讨论】:

    猜你喜欢
    • 2011-08-10
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    • 2012-02-13
    • 1970-01-01
    • 2017-03-05
    相关资源
    最近更新 更多