![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
初めまして、宜しくお願いします。
現在ユーザ登録の管理をするデータベースを扱っています。
言語はPHP4と、MySQLを使用しています。
そのデータベースには、アイコン画像、登録者名、性別、
掲示板発言回数などのユーザー情報が保存されており、
データ型[MEDIUMBLOB]にまとめて保存されているようです。
(データベースは私が作成したものではいのですが)
なのでそこから、それらの情報を取り出したいのですが、
[MEDIUMBLOB]型のデータの取り出し方が解らず困っています。
具体的にはデータだけならば取り出す事はできるものの、
バイナリ形式なので当然文字化けしているという感じです。
勉強不足ということは百も承知ですが、検索しても
それらしい情報を見つけることもできず、ご存じの方が
おられないかとこちらにて質問をさせていただきました。
お解りの方がおられましたらどうかアドバイスを
宜しくお願い致します。
--------------------------
// 以下のようなテーブルにデータが格納されていた場合
CREATE TABLE sample(
test_i INT,
test_s VARCHAR(64),
medium MEDIUMBLOB
);
// 格納されているデータを取り出す
$res = mysql_query( "SELECT test_i, medium FROM sample;" );
while( $list = mysql_fetch_assoc( $res ) ){
echo "$list['test_i']<br>";
//echo "$list['medium']<br>";
}
上記の通りをMEDIUMBLOB型ですると文字化けします。
No.2ベストアンサー
- 回答日時:
>ということは、データ構造というものは聞いてないので、
>どうしようもないということでしょうか……。
>ただデータベースを渡されただけなので。
構造が提示されていなければ「解析込み」での作業ということになります。私なら請けたくないです(汗
データを文字列で取り出して「そのまま」ファイルに書き出す・・というのを複数のレコードについて実施して、各ファイルをローカルにFTPしてからバイナリダンプして見当をつけないといけませんね。先頭の方にある(と思われる)テキストはどうにか切り出せるかもしれません。
画像などのバイナリは、バイナリのままだとするとバイト長のデータが書き込まれているとは思います(これ自体がinteger形式のバイナリかも)。あるいはMIMEにしてから入れていれば、「NULL区切り」とか「タブ区切り」ということもあるかもしれません。内容を見ながら追っていくしかないです。
なるほど…PHPもしくはMySQLから何とかできる方法が
あるのではないかと思ったのですが、
そういうのは決まってないんですね(汗)
というか既に格納されてるならどうやって格納したのかも送ってくれればいいのに…
アドバイスいただいたとおり、時間は余裕は無いですが幾分かありますし、
画像もサイズらしき情報がありましたので
解析しつつ何とかバイナリダンプして試してみたいと思います。
とても参考になりました。有難う御座います。
No.1
- 回答日時:
>そのデータベースには、アイコン画像、登録者名、性別、
>掲示板発言回数などのユーザー情報が保存されており、
>データ型[MEDIUMBLOB]にまとめて保存されているようです。
どういう定義になっているかわからないと取り出しようがないです。とりあえずいったん文字列で取り出したとして、それ以降の分割をどうするかはデータ構造次第です。
この回答への補足
ご回答いただきましてありがとうございます!
ということは、データ構造というものは聞いてないので、
どうしようもないということでしょうか……。
ただデータベースを渡されただけなので。
データベースの中身を見ると、
ユーザ名:sample/年齢:20/性別:男 ならば
username-?sample・ageU・20- sex-・0image-・(以下省略)
といった感じで、ユーザ名ならばusername、年齢ならばageと、
一部文字化けはしていますが取り出す事のできそうなデータの
キーとなりそうなものは見つけることができます。
これではどうにもならないですよね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA バイナリ―から文字列にす...
-
バッファとは何ですか
-
JavaScriptの実行速度が遅い
-
EOF
-
ページ読み込み時に自動的にsub...
-
EXCEL VBAでテキストファイルの...
-
エクセルVBA 2千万行のCSVファ...
-
【Teraterm】filewritelnについて
-
ワードプレスhtmlファイルの保...
-
Microsoft VBAで2GBを超えるフ...
-
バイナリエディタのつかいかた
-
Javaでのエンディアン変換
-
ファイルを音声で持ち帰りたい
-
EACのログファイルについて
-
入力ファイルをバイナリにする利点
-
フルパスから最後のディレクト...
-
Cでのネットワークファイルの読...
-
Access クエリ実行が急に非常に...
-
【ExcelVBA】UTF-8(BOM無)でC...
-
C言語初心者の質問失礼します。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッファとは何ですか
-
EXCEL VBAでテキストファイルの...
-
Microsoft VBAで2GBを超えるフ...
-
入力ファイルをバイナリにする利点
-
ページ読み込み時に自動的にsub...
-
エクセルVBA 2千万行のCSVファ...
-
エラー:ストリームの終わりを...
-
EOF
-
VBA バイナリ―から文字列にす...
-
バイナリエディタのつかいかた
-
テキストデータをSQLServerに取...
-
バイナリファイルの検索について
-
バイナリ形式のXMLファイルを読...
-
画像の保存方法。
-
FTPでエクセルをPUTするとファ...
-
バイナリファイルの比較につい...
-
バイナリーデータの一部データ...
-
MacからWinにファイルを添付す...
-
C言語とシリアル通信の送受信...
-
ROM書き込みデータのファイル形...
おすすめ情報