$data = array();
while ( $row = $result->fetch_assoc() ){
$data[] = json_encode($row);
}
echo json_encode( $data );
Điều này nên làm điều đó. Ngoài ra, bạn có thể sử dụng http://jsonlint.com/ để xem vấn đề với đầu ra JSON của bạn là gì.
Cập nhật: sử dụng fetch_all()
cũng có thể là một ý kiến hay
$data = $result->fetch_all( MYSQLI_ASSOC );
echo json_encode( $data );