我在这个角落和编程都很新。我正在尝试基于nusoap和php创建一个Web服务,所以它从mysql数据库传递了一些值。 我已经浏览了很多网站(包括堆栈溢出答案),我找到了一些我尝试但尚未成功的解决方案。出于某种原因,当我做客户端访问服务时,它总是空着。经过一天看这个我现在只看到信件......
如果有人能提供解决方案,我将不胜感激。谢谢!
服务器端
<?php
include 'nusoap.php';
$server=new nusoap_server();
$server->configureWSDL("demo"."urn:demo");
$server->register(
'gamedata',
array(),
array("estadio"=>'xsd:string',
"nome"=>'xsd:string',
)
);
function gamedata(){
$con=mysql_connect('127.0.0.1:3306', 'root', '') or die ("Erro ao conectar...");
mysql_select_db("testar",$con) or die ("Erro ao seleccionar DB...");
$queryforestadio="SELECT nome,cidade FROM estadio";
//$queryforjogos = "SELECT data, id_selecao1, id_selecao2 FROM jogo";
while($resultestadio = mysql_fetch_array($queryforestadio)){
$estadios[] = array('nome'=>$resultestadio['nome'],
'cidade'=>$resultestadio['cidade'],
);
echo "Message from function: ".$estadios['nome']['cidade'];
}
return $estadios;
}
if ( !isset( $HTTP_RAW_POST_DATA ) ) $HTTP_RAW_POST_DATA =file_get_contents( 'php://input' );
$server->service($HTTP_RAW_POST_DATA);
?>
客户端
<?php
require('nusoap.php');
$client = new nusoap_client('http://localhost:8048/webservice/index.php');
$response= $client->call('gamedata');
$r = $response;
$count = count($r);
for($i=0; $i<=$count-1;$i++){
echo "This is name: ".$r[$i]['nome'];
echo "This is city: ".$r[$i]['cidade'];
}
答案 0 :(得分:0)
此代码无意义/冗余:
$estadios[] = array('nome'=>$resultestadio['nome'],
'cidade'=>$resultestadio['cidade'],
);
您只是在查询中提取nome
和cidade
字段,因此$resultstadio
已经是这两个字段及其值的数组。
然后这与您在上面构建的结构不匹配:
echo "Message from function: ".$estadios['nome']['cidade'];
你可能应该有更多这样的东西:
while($resultestadio = mysql_fetch_array($queryforestadio)){
$estadios[] = $resultestadio;
echo "Message from function: ".$resultestadio['nome'] ',' . $resultestadio['cidade'];