如何在mysql中检索二进制文件数据作为转换后的char?

时间:2016-12-07 20:16:49

标签: php mysql blob

我正在处理一个项目,该项目处理要存储在数据库中的文本文件。

所以我使用blob数据类型,将文件转换为二进制文件,然后上传到MySQL。

我的问题是如何在检索时将整个二进制文本转换为char?我尝试了下面的php命令,但它似乎不能正常工作。请帮忙。

SELECT cast(blob-col_name as char(1000000)) from `table_name`

The output retrieves garbage text as shown in the image below.

1 个答案:

答案 0 :(得分:0)

试试这个:

SELECT CAST(blob-col_name AS CHAR(1000000) CHARACTER SET utf8) As BLOBText FROM table_name;

<强>更新

$sql = "SELECT Legislation_ID, Legislation_Name, Category, 
        CAST(data AS CHAR(1000000) CHARACTER SET utf8) As BLOBText FROM legislations";
$query = mysqli_query($sql);

while($rows = mysqli_fetch_array($query)) {
    file_put_contents($rows["Legislation_Name"].".zip", $rows["BLOBText"]);
    echo "<textarea style='height:500px;width:300px'>".$rows["BLOBText"]."</textarea><br/>";

}