Mysql
 sql >> Base de données >  >> RDS >> Mysql

Impossible de récupérer les données de la table MySQL qui correspond à un uid spécifique

Dans votre application Android, vous attendez un JSONArray :

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

Cependant, dans votre fichier PHP, vous ne produisez que plusieurs objets JSON séparés au lieu d'un véritable tableau. Je pense que vous devriez d'abord collecter tous les éléments de la base de données dans un tableau PHP, puis les encoder et les sortir une seule fois.

Mes compétences en PHP sont un peu rouillées, mais j'espère que celle-ci fonctionnera :

//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);
}

Je m'attendrais à ce que la sortie ressemble à ceci (peut-être sans indentation):

[
    {"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"}
]