首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否使用nusoap web服务将数据插入MySql?

问是否使用nusoap web服务将数据插入MySql?
EN

Stack Overflow用户
提问于 2013-10-16 03:57:32
回答 3查看 7.3K关注 0票数 0

我已经创建了这段代码,以便使用nusoap将数据插入我的数据库。一切正常,但是数据没有插入到我的数据库中。

以下是代码

代码语言:javascript
复制
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文件:

代码语言:javascript
复制
<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文件中,参数和输出都正常。我不明白的是为什么不把这些数据放到我的数据库中?我一定是漏掉了什么。有人知道为什么会发生这种事吗?提前谢谢你。

EN

回答 3

Stack Overflow用户

发布于 2013-12-05 15:53:09

您的Insert语句看起来更像是update语句。你能换件衣服吗?

代码语言:javascript
复制
mysql_query("INSERT INTO myuser SET FirstName='$FirstName',     LastName='$LastName'");

至

代码语言:javascript
复制
mysql_query("INSERT INTO myuser(FirstName,LastName) values('$FirstName', '$LastName')");
票数 0
EN

Stack Overflow用户

发布于 2015-05-01 13:11:23

我的脚本没有错误,它通过soap将数据插入到我的mysql表中,我希望您在数据库连接中做错了什么。再检查一遍!或者我认为您的insert查询中存在sql语法错误。下面是我的代码:

代码语言:javascript
复制
$sql="INSERT INTO employee (ename) VALUES('".$employee_name."')";
$res=mysql_query($sql);
if($res==true){
    return "Employee inserted";
}else{
    return "data not inserted";
}
票数 0
EN

Stack Overflow用户

发布于 2019-01-17 16:18:46

而不是数组(‘FirstName’=> 'xsd:Testing','LastName‘=> 'xsd:NuSoap'),

尝试此数组(‘FirstName’=> 'xsd:string','LastName‘=> 'xsd:string'),

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19389907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档