SOに関する私の最長の質問をお詫びします。ROOTのmysqlデータベース(高エネルギー物理分析用のC ++のCERNフレームワーク)のphpフロントエンドとインターフェイスしようとしています。最初に、私はこのphpインターフェースをうまく機能させることを試みました。最初はwget
、curl
それらに精通しているためです。次のコマンドが機能します。
wget --post-data "hostname=localhost:3306&un=joeuser&pw=psswd&myquery=show_spazio_databases;" http://some.host.edu/log/log_query_matlab.php
結果は次のとおりです。
database1
database2
それは良い。省略した場合--post-data
、結果が得られます。
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'admin'@'localhost' (using password: NO) in /log/log_query_matlab.php on line 6
i'm dead! Access denied for user 'admin'@'localhost' (using password: NO)
Warning: mysql_query() [function.mysql-query]: Access denied for user 'admin'@'localhost' (using password: NO) in /log/log_query_matlab.php on line 29
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /log/log_query_matlab.php on line 29
phpスクリプト(読み取り専用)にアクセスできますが、エラー自体はそれほど重要ではありません。重要なのは、ROOTを使用して、socket.SendRaw(message, message.Length())
(ソケットは)と呼ばれる関数を使用することです。これにより、「メッセージ」が次の場合、ポストデータスイッチがない場合TSocket
と同じ「エラー」が発生します。wget
"POST http://some.host.edu/log/log_query_matlab.php?hostname=localhost:3306&un=joeuser&pw=psswd&myquery=show_spazio_databases"
--post-data
これは無駄かもしれませんが、スイッチと同等のものを含む「メッセージ」をフォーマットする方法を誰かが知っていますか。または、POSTリクエストを1行でフォーマットする標準的な方法はありますか(複数行のものを見たことがあります。そうですか?)申し訳ありませんが、わかりません。
PS。mysqlクエリはですが、スペースは、スペースを表すイタリア語にshow databases
置き換えられました。_spazio_
dbおよびphpインターフェースの作成者はそれ(およびシンボルのさまざまな置換)を必要としますが、これを以前に見た人はいますか?ひどいトラブルシューティングを試みました!