我已经创建了这个代码来使用nusoap将数据插入到我的数据库中。一切都工作正常,但是数据没有插入到我的数据库中。
下面是代码
require_once('nusoap/nusoap.php');
$server = new soap_server();
$server->configureWSDL('Insert Order', 'urn:InsertOrder');
$server->soap_defencoding = 'utf-8';
$server->register(
'InsertOrder',
array('FirstName' => 'xsd:Testing', 'LastName' => 'xsd:NuSoap'),
array('return' =>'xsd:boolean'),
'urn:InsertOrderwsdl',
'urn:InsertOrderwsdl#InsertOrder',
'rpc',
'literal'
);
function InsertOrder($FirstName, $LastName) {
$connect = mysql_pconnect("localhost","root","");
if ($connect) {
if(mysql_select_db("database", $connect)) {
mysql_query("INSERT INTO myuser SET FirstName='$FirstName', LastName='$LastName'");
return true;
}
}
return false;
}
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
下面是wsdl文件:
<definitions targetNamespace="urn:InsertOrder">
<types>
<xsd:schema targetNamespace="urn:InsertOrder">
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/"/>
</xsd:schema></types>
<message name="InsertOrderRequest">
<part name="FirstName" type="xsd:Testing"/>
<part name="LastName" type="xsd:NuSoap"/>
</message>
<message name="InsertOrderResponse">
<part name="return" type="xsd:boolean"/>
</message><portType name="Insert OrderPortType">
<operation name="InsertOrder">
<input message="tns:InsertOrderRequest"/>
<output message="tns:InsertOrderResponse"/>
</operation>
</portType>
<binding name="Insert OrderBinding" type="tns:Insert OrderPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="InsertOrder">
<soap:operation soapAction="urn:InsertOrderwsdl#InsertOrder" style="rpc"/>
<input>
<soap:body use="literal" namespace="urn:InsertOrderwsdl"/>
</input>
<output>
<soap:body use="literal" namespace="urn:InsertOrderwsdl"/>
</output>
</operation></binding>
<service name="Insert Order">
<port name="Insert OrderPort" binding="tns:Insert OrderBinding">
<soap:address location="http://localhost/nuSoap/MyService.php"/>
</port>
</service>
</definitions>
在wsdl文件的参数和输出是好的。我不明白的是为什么不把这些数据到我的数据库?我一定错过了一些东西在这里。有人知道为什么会发生这种情况吗?提前谢谢你。
3条答案
按热度按时间oyjwcjzk1#
您的Insert语句看起来更像是update语句。是否可以更改
至
ifmq2ha22#
我的脚本没有错误,它是通过soap插入数据到我的mysql表,我希望你在数据库连接中做错了什么。再检查一次!或者我认为你在插入查询中有sql语法错误。下面是我的代码:
ki1q1bka3#
而不是数组(“名字”=〉“xsd:Testing”,“姓氏”=〉“xsd:NuSoap”),
请尝试以下数组(“名字”=〉“xsd:字符串”,“姓氏”=〉“xsd:字符串”),