php - 从MYSQL中选择Blob,得到null

标签 php mysql json blob

从 MySQL 选择 blob 时需要做什么特别的事情吗?我得到以下内容的 NULL(数据是 Mediumblob,file_extension 是 varchar):

$sql = "SELECT data, file_extension FROM table1 WHERE table1.id = ?";
$q = $con->prepare($sql);
$q->execute(array(1));

if ($q->rowCount() == 0)
{
    disconnectSqlConnection($con);
    $arr = array('success' => 'false',
                 'error'   => -2);
    return json_encode($arr);
}
else
{
    $row = $q->fetch();
    $arr = array('success'   => 'true',
                 'data'      => $row[0],
                 'extension' => $row[1]);
    disconnectSqlConnection($con);
    return json_encode($arr);
}

$row[1] 有“pdf”,这是正确的。 $row[0] 为 NULL,但在数据库中,我看到一个大小为 244.8KB 的 blob

有什么想法吗?

最佳答案

使用CAST将其转换为文本

$sql = "SELECT CAST(data AS CHAR(10000) CHARACTER SET utf8) as data, file_extension FROM table1 WHERE table1.id = ?";

关于php - 从MYSQL中选择Blob,得到null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15948798/

相关文章:

php - 使用条件语句在多个表上使用左连接

php - 如何通过 MailChimp 3.0 api 发送电子邮件?

php - 如何阻止在 svn 中提交 php 调试输出?

spring - MySQL 查询在我的应用程序中失败,但在 MySQL 命令行工具中成功

java - 如何使用 Java Servlet 将 JSON 对象返回给 AngularJS

php - Codeigniter 获取数据时出错

mysql - 我删除了我的 wp 网站的数据库,wordpress 要求重新安装

mysql - SQL - JOIN 更多表而不是 IN(子查询)

java - 修改两个不同函数的 JSON 输出

javascript - 如何使用多个相同的键但不同的值来解析这种类似 JSON 的结构?