php在客户端返回空值,但在服务器端获取数据

php在客户端返回空值,但在服务器端获取数据,php,codeigniter,soap,Php,Codeigniter,Soap,如果我将查询代码放在服务器而不是模型中,客户端可以获取该值。以下是我的代码: function player_item(){ $CI =& get_instance(); $CI->db->select('player_item, count(*) as total',false); $CI->db->from('rps'); $CI->db->group_by('player_item'

如果我将查询代码放在服务器而不是模型中,客户端可以获取该值。以下是我的代码:

  function player_item(){

       $CI =& get_instance();
       $CI->db->select('player_item, count(*) as total',false);
       $CI->db->from('rps'); 
       $CI->db->group_by('player_item');
       $query = $CI->db->get();

       $data= $query->result_array();
       return json_encode($data);
    }
当我切换到MVC方法并尝试在客户端打印值时,它返回空值。以下是我的代码:

  function player_item(){

       $CI =& get_instance();
       $CI->db->select('player_item, count(*) as total',false);
       $CI->db->from('rps'); 
       $CI->db->group_by('player_item');
       $query = $CI->db->get();

       $data= $query->result_array();
       return json_encode($data);
    }
型号:

function get_player_item()
  {
      $this->db->select('player_item, count(*) as total');
      $this->db->from('rps'); 
      $this->db->group_by('player_item');
      $query = $this->db->get();
      $rows = array();
      foreach ($query->result_array() as $row)
       {
          $rows[] = $row;
        }
       return $rows;
}
服务器:

function player_item()

    {
           $CI =& get_instance();
           $CI->load->model("player");
           $data=$CI->player->get_player_item();
           return json_encode($data);
     }
客户:

 $result = $this->nusoap_client ->call('player_item');
 $data['player'] = json_decode($result, true);
 var_dump($data['player'] );

我的代码怎么了?我可以在server.string112[{player\u item:paper,total:9},{player\u item:rock,total:10},{player\u item:scissors,total:8}]打印时获得值。

由于脚本没有生成任何实际输出,客户端将什么也看不到

您需要更改以下内容:

{
       $CI =& get_instance();
       $CI->load->model("player");
       $data=$this->player->get_player_item();
       return json_encode($data);
}
致:


当您试图解码的json字符串不是正确的json格式时,json_decode返回null。$result中有什么?var_dump$result return boolfalsetry下面是答案。你能确保nusoap_客户端获得了该函数吗?@khalidas你应该使用cURL/browser/etc检查服务器端是否输出了正确的数据。如果它现在看起来应该…,问题就出在客户端。