充分利用PHP内容:问题与POST和查询
-
25-09-2019 - |
题
道歉就使以往任何时候我的时间最长的问题。我试图用一个PHP的前端在ROOT MySQL数据库(在C ++高能物理分析CERN框架)的接口。首先,我想是因为我更熟悉他们得到这个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请求的标准方式(我见过多直插式的东西。是吗?)对不起,我无言以对!
PS。 MySQL查询是show databases
但空间已被替换_spazio_
,意大利的空间。数据库和PHP接口的作者需要它(和符号的各种替代品),但有没有人见过这个?试图解决,这是可怕的!
解决方案
在正确的 “一个衬里”(必须是多行)是:
POST http://some.host.edu/log/log_query_matlab.php HTTP/1.1
Host: some.host.edu
Content-Type: application/x-www-form-urlencoded
Content-Length: 73
hostname=localhost:3306&un=joeuser&pw=psswd&myquery=show databases
每一行的端部具有\r\n
。内容长度后的间隙具有两组的那些。
不隶属于 StackOverflow