从 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/