JSON工作在本地主机但不是服务器?

问题描述:

while($res = mysql_fetch_object($u_result)) { 
    //print_r($res); 
    $task_id = $res - > task_id; 
    //print_r($json['task_info']); 
    //$task_id = $json['task_info'][0]->task_id; 
    $sql_g = "SELECT `grade` FROM `t_grades` WHERE `student_id`='$student_id' AND `task_id`= $task_id"; 
    $res_g = mysql_query($sql_g); 

    if(mysql_num_rows($res_g) > 0) { 
    $row_g = mysql_fetch_object($res_g); 
    $res->grade = $row_g['grade']; 
    } 
    else { 
    $res->grade = 'none'; 
    } 
    //print_r($res); 
    $json['task_info'][] = $res; 
} 
echo json_encode($json); 

我收到此错误:JSON工作在本地主机但不是服务器?

Fatal error: Cannot use object of type stdClass as array like this. 

这个工作在本地主机正常,但在服务器上返回一个错误。什么会造成这种情况?

+0

本地主机vs服务器的pvp版本是什么? – 2013-03-09 15:10:22

+2

'$ res-> grade = $ row_g ['grade'];'应该是'$ res-> grade = $ row_g-> grade;' – BenM 2013-03-09 15:10:53

+0

其工作正常......非常感谢你 – Gireesh 2013-03-09 15:13:59

错误消息告诉你问题是什么。您正在使用mysql_fetch_object()(顺便说一句,这是不推荐的,就像整个mysql_* family一样),然后尝试以数组的形式访问它。更改您的代码,如下所示:

$row_g = mysql_fetch_object($res_g); 
$res->grade = $row_g->grade;