sql >> Base de Datos >  >> RDS >> Mysql

No se pueden recuperar datos de la tabla MySQL que coincida con un uid específico

En su aplicación de Android, espera un JSONArray:

// store incoming stream in an array
JSONArray jArray = new JSONArray(streamToString(instream));

Sin embargo, en su archivo PHP solo genera múltiples objetos JSON separados en lugar de una matriz real. Creo que primero debe recopilar todos los elementos de la base de datos en una matriz PHP y luego codificarlos y generarlos solo una vez.

Mis habilidades de PHP están un poco oxidadas, pero espero que funcione:

//store # of rows returned
$num_rows = mysql_num_rows($query);

if ($num_rows >= 1) {
    $output = array();

    while($results = mysql_fetch_assoc($query)) {
        // append row to output
        $output[] = results
    }

    mysql_close();  // shouldn't that be outside the if block?

    //encode the returned data in JSON format
    echo json_encode($output);
}

Entonces esperaría que la salida fuera así (quizás sin sangría):

[
    {"nid":"1","vid":"1","type":"goal","language":"","title":"test","uid":"1","status":"1","created":"1342894493","changed":"1342894493","comment":"2","promote":"1","moderate":"0","sticky":"1","tnid":"0","translate":"0"},
    {"nid":"2","vid":"2","type":"goal","language":"","title":"test2","uid":"1","status":"1","created":"1342894529","changed":"1342894529","comment":"2","promote":"1","moderate":"0","sticky":"1","tnid":"0","translate":"0"},
    {"nid":"5","vid":"5","type":"goal","language":"","title":"run","uid":"1","status":"1","created":"1343506987","changed":"1343506987","comment":"2","promote":"1","moderate":"0","sticky":"1","tnid":"0","translate":"0"},
    {"nid":"9","vid":"9","type":"goal","language":"","title":"run to the hills","uid":"1","status":"1","created":"1343604338","changed":"1343605100","comment":"2","promote":"0","moderate":"0","sticky":"0","tnid":"0","translate":"0"}
]