• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPでMySQLのMEDIUMBLOB型のデータを取り出す)

PHPでMySQLのMEDIUMBLOB型のデータを取り出す方法

このQ&Aのポイント
  • PHPでMySQLのデータベースに保存されているMEDIUMBLOB型のデータを取り出す方法について困っています。文字化けしてしまい、解決方法がわかりません。
  • データベースに保存されているユーザー情報がMEDIUMBLOB型で保存されており、それらの情報を取り出す方法について検索しても解決策が見つからず困っています。
  • PHP4とMySQLを使用しているデータベースに保存されているMEDIUMBLOB型のデータを正常に取り出す方法がわかりません。文字化けしてしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.2

>ということは、データ構造というものは聞いてないので、 >どうしようもないということでしょうか……。 >ただデータベースを渡されただけなので。 構造が提示されていなければ「解析込み」での作業ということになります。私なら請けたくないです(汗 データを文字列で取り出して「そのまま」ファイルに書き出す・・というのを複数のレコードについて実施して、各ファイルをローカルにFTPしてからバイナリダンプして見当をつけないといけませんね。先頭の方にある(と思われる)テキストはどうにか切り出せるかもしれません。 画像などのバイナリは、バイナリのままだとするとバイト長のデータが書き込まれているとは思います(これ自体がinteger形式のバイナリかも)。あるいはMIMEにしてから入れていれば、「NULL区切り」とか「タブ区切り」ということもあるかもしれません。内容を見ながら追っていくしかないです。

cikora
質問者

お礼

なるほど…PHPもしくはMySQLから何とかできる方法が あるのではないかと思ったのですが、 そういうのは決まってないんですね(汗) というか既に格納されてるならどうやって格納したのかも送ってくれればいいのに… アドバイスいただいたとおり、時間は余裕は無いですが幾分かありますし、 画像もサイズらしき情報がありましたので 解析しつつ何とかバイナリダンプして試してみたいと思います。 とても参考になりました。有難う御座います。

その他の回答 (1)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

>そのデータベースには、アイコン画像、登録者名、性別、 >掲示板発言回数などのユーザー情報が保存されており、 >データ型[MEDIUMBLOB]にまとめて保存されているようです。 どういう定義になっているかわからないと取り出しようがないです。とりあえずいったん文字列で取り出したとして、それ以降の分割をどうするかはデータ構造次第です。

cikora
質問者

補足

ご回答いただきましてありがとうございます! ということは、データ構造というものは聞いてないので、 どうしようもないということでしょうか……。 ただデータベースを渡されただけなので。 データベースの中身を見ると、 ユーザ名:sample/年齢:20/性別:男 ならば username-?sample・ageU・20- sex-・0image-・(以下省略) といった感じで、ユーザ名ならばusername、年齢ならばageと、 一部文字化けはしていますが取り出す事のできそうなデータの キーとなりそうなものは見つけることができます。 これではどうにもならないですよね?