Php nusoap没有传递内容

时间:2015-01-26 20:28:53

标签: php mysql nusoap

我在这个角落和编程都很新。我正在尝试基于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'];
    }

1 个答案:

答案 0 :(得分:0)

此代码无意义/冗余:

  $estadios[] = array('nome'=>$resultestadio['nome'],
                      'cidade'=>$resultestadio['cidade'],
                      ); 

您只是在查询中提取nomecidade字段,因此$resultstadio已经是这两个字段及其值的数组。

然后这与您在上面构建的结构不匹配:

      echo "Message from function: ".$estadios['nome']['cidade'];

你可能应该有更多这样的东西:

while($resultestadio = mysql_fetch_array($queryforestadio)){
    $estadios[] = $resultestadio;
    echo "Message from function: ".$resultestadio['nome'] ',' . $resultestadio['cidade'];