0
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);

このエラーが発生しています:

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

これは localhost では正常に機能しますが、サーバーではエラーが返されます。これは何が原因でしょうか?

4

1 に答える 1

1

エラーメッセージは、問題の内容を示しています。あなたは(ちなみに、ファミリーmysql_fetch_object()全体と同様に非推奨です)を使用しており、配列としてアクセスしようとしています。コードを次のように変更します。mysql_*

$row_g = mysql_fetch_object($res_g);
$res->grade = $row_g->grade;  
于 2013-03-09T15:12:29.593 に答える