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检查服务器端是否输出了正确的数据。如果它现在看起来应该…,问题就出在客户端。