1

I'm trying to fix up an old script which used to always work but now gives an empty response; I have no idea why. I have checked that the while loop is entered, num_of_rows = 100, yet I don't get any response.

<?php

$response = array();


$conn=mysqli_connect("localhost", "***", "***","***");


// get all gamelists from gamelists table
 $result = mysqli_query($conn,"SELECT * FROM `abcd`");


// check for empty result
if (mysqli_num_rows($result) > 0) {


$response["gamelist"] = array();

while ($row = $result->fetch_array()) {
    // temp user array

    $gamelist = array();
    $gamelist["id"] = $row["id"];
    $gamelist["ques"] = $row["ques"];
    $gamelist["odp_a"] = $row["odp_a"];
    $gamelist["odp_b"] = $row["odp_b"];
    $gamelist["odp_c"] = $row["odp_c"];
    $gamelist["odp_d"] = $row["odp_d"];
    $gamelist["comment"] = $row["comment"];
    $gamelist["correctanswer"] = $row["correctanswer"];
    $gamelist["commentfirst"] = $row["commentfirst"];





    // push single gamelist into final response array

    array_push($response["gamelist"], $gamelist);
}
// success
$response["success"] = 1;

// echoing JSON response
echo json_encode($response);
 } else {
// no gamelists found
  $response["success"] = 0;
$response["message"] = "No gamelists found";

// echo no users JSON
echo json_encode($response);
 }
?>

enter image description here

Output :

1234444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
Alk
  • 5,215
  • 8
  • 47
  • 116

1 Answers1

1

Code seems to be working , but a better approach will be:-

<?php

$response = array();


$conn=mysqli_connect("localhost", "***", "***","***");

if($conn){
    // get all gamelists from gamelists table
    $result = mysqli_query($conn,"SELECT * FROM `abcd`");

    if($result){
        // check for empty result
        if (mysqli_num_rows($result) > 0) {
            while ($row = $result->fetch_array()) {
                $response["gamelist"][] = $row;
            }
            // success
            $response["success"] = 1;

            // echoing JSON response
            echo json_encode($response); exit;
        } else {
            // no gamelists found
            $response["success"] = 0;
            $response["message"] = "No gamelists found";

            // echo no users JSON
            echo json_encode($response);exit;
        }
    }else{
        echo "db query error".mysqli_error($conn); exit;
    }
}else{
    echo "db connection error".mysqli_connect_error(); exit;
}
?>

Since you said that it's something related to utf-8 issue.

This link is what you found useful:-

Why would json_encode returns an empty string

Community
  • 1
  • 1
Alive to die - Anant
  • 70,531
  • 10
  • 51
  • 98