简体   繁体   中英

json_encode doesn't get echo'ed

I'm trying to pull some records from the DB with the code below, but my echo json_encode($contacts); at the end of the code doesn't print anything. Nor does any echo put right above that.

<?php
    require_once(dirname(__FILE__).'/ConnectionInfo.php');


    //Set up our connection
    $connectionInfo = new ConnectionInfo();
    $connectionInfo->GetConnection();

    if (!$connectionInfo->conn)
    {
        //Connection failed
        echo 'No Connection';
    }

    else
    {
        //Create query to retrieve all contacts
        $query = 'SELECT Numero_Leccion,Titulo_Leccion,Ejemplo_Leccion FROM leccion';

        $stmt = sqlsrv_query($connectionInfo->conn, $query);

        if (!$stmt)
        {
            //Query failed
            echo 'Query failed';
        }

        else
        {
            $contacts = array(); //Create an array to hold all of the contacts
            //Query successful, begin putting each contact into an array of contacts

            while ($row = sqlsrv_fetch_array($stmt,SQLSRV_FETCH_ASSOC)) //While there are still contacts
            {
                //Create an associative array to hold the current contact
                //the names must match exactly the property names in the contact class in our C# code.
                $contact = array("Numero_Leccion"=>$row['Numero_Leccion'],"Titulo_Leccion"=>$row['Titulo_Leccion'],"Ejemplo_Leccion"=>$row['Ejemplo_Leccion']);              
                //Add the contact to the contacts array
                array_push($contacts, $contact);
            }
            //Echo out the contacts array in JSON format
            echo json_encode($contacts);
        }
    }
?>

Put error_reporting(E_ALL & ~E_NOTICE); ini_set('display_errors', '1'); error_reporting(E_ALL & ~E_NOTICE); ini_set('display_errors', '1'); somewhere on top of your script and see if there are any errors

(taken from Why echoing JSON encoded arrays won't produce any output )

Try this:

while ($row = sqlsrv_fetch_array($stmt,SQLSRV_FETCH_ASSOC))
{
    $contacts[] = array("Numero_Leccion"=>$row['Numero_Leccion'],"Titulo_Leccion"=>$row['Titulo_Leccion'],"Ejemplo_Leccion"=>$row['Ejemplo_Leccion']);              
}
header('Content-Type: application/json');
echo json_encode($contacts);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM