2016-12-07 3 views
0

私は、データベースに格納されるテキストファイルを扱うプロジェクトに取り組んでいます。mysqlでバイナリファイルのデータを変換されたcharとして取り出す方法は?

私は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

可能な重複: //stackoverflow.com/questions/948174/how-do-i-convert-from-blob-to-text-in-mysql) – Nytrix

+0

テキストファイルのみの場合は、代わりにTEXTフィールドを使用することを検討してください。 –

+0

@FranzGleichman TEXTフィールドのオプションはうまくいきますが、このオプションでは動作しない要件の一部としてデータベースに文書をアップロードする必要があります。 – Mariam

答えて

0

これを試してみてください:

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

UPDATE

$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/>"; 

} 
(HTTP [Iは、MySQL内のテキストにBLOBから変換する方法を教えてください。]の
+0

試してみましたが動作しません。それは何も検索しない。 – Mariam

+0

データをどのように取得しますか? PHPで使用しているコードは何ですか? –

+0

$ sql = "SELECT' Legislation_ID'、 'Legislation_Name'、' Category'、CAST( 'data' AS CHAR(1000000)CHARACTER SET utf8)BLOBText FROM' legislations' "; – Mariam

関連する問題