プロが教えるわが家の防犯対策術!

馬鹿な質問ですいません

MySQLにアクセスする場合、コマンドラインで
 SELECT * FROM user_list
と入れると user_list のデータがモニタに表示されることはわかりました。
でもC,C#やPHP等のプログラムから同じことをやって2次元配列にデータを取り込む方法がよくわかりまん。

コマンドを文字列で送って、帰ってきた文字列を解析して2次元配列に値をセット

すれば可能ですが、そのようにプログラミングするのですか?

もちろん、MySQLのテーブルの項目のデータ形式は事前にわかっている場合のデータ取り込みの方法です。

A 回答 (4件)

結果的にMYSQLの開いてるポートに、文字列を投げていることになります。


クライアントプログラムで投げるのと受けるのはやってくれます。
    • good
    • 0
この回答へのお礼

>結果的にMYSQLの開いてるポートに、文字列を投げていることになります。
なるほど、やっぱり文字列で対話するのですね。

もう少し賢く(?)、生データに近い中間言語(SELECT は3番、INSERTは4番といったような)でやり取りするライブラリ等があると思っていました。

お礼日時:2020/03/16 20:37

えっと。

。。(^^;

MySQLのプログラミング言語インタフェースがどうなっているか・・・ということですよね?
そういう疑問を持たれた場合、例えばGoogleなどで「C言語 MySQL」といった至極簡単なキーワードを指定して検索するなどされていますか?

参考まで。
    • good
    • 0
この回答へのお礼

当然検索しました

で、おバカと思える
 コマンドを文字列で送って、帰ってきた文字列を解析して2次元配列に値をセット
するような例しか検索出来なかったので質問しています。

お礼日時:2020/03/16 20:38

プログラム側がこういったデータに対してこうやって受けようという仕組みをもっているので


プログラム側が配列でほしいのであれば、そのような仕組みが用意されているものです。
とくにRDBはデータの持ち方が縦*横の配列的なアプローチがしやすいデータを持ちますので
比較的安易にプログラム側は配列の入手ができるはずです
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

データベースは2次元配列が基本なので、
 SELECT * FROM user_list
という要求に対し検索結果を、
 コマンドライン向けに文字列に変換して応答
するのではなく、
 要求も応答も生データに近い形で送受信
するライブラリが用意されていると思ったのですが、そのようなサンプルが見つかりませんので質問しています。

>比較的安易にプログラム側は配列の入手ができるはずです
具体的なサンプルを教えてください!!
よろしくお願いします。

お礼日時:2020/03/17 07:13

サーバーとクライアントの間のTCP通信内容という言意味では、文字列のままではないです。


MySQLが提供するクライアント側のライブラリと、サーバーが通信しますので、内部形式で通信しているはずです。
内部形式の説明は少なくとも日本語では見つけられませんでしたが、バージョンごとに違う可能性があるので、非公開かもしれません。
    • good
    • 0
この回答へのお礼

>内部形式で通信しているはずです。
そうですよね、
 da = MySqlDataAdapter("select * from log_tbl", conn);
のように、コマンドラインと同じ文字列で操作するのではなく、
  da = MySqlDataAdapterSelect(" *","log_tbl", conn);
のように、select命令用の内部形式で通信して操作しているのですよね。
数値データなら、10進文字列に変換して送受信しているわけではないですよね。

>バージョンごとに違う可能性があるので、非公開かもしれません。
なるほど。

となると、互換性のため、
 文字列での操作でプログラミング
をする必要があるということでしょうか。

お礼日時:2020/03/17 06:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す