sql >> データベース >  >> RDS >> Mysql

特定のuidに一致するMySQLテーブルからデータを取得できません

    Androidアプリでは、JSONArrayを期待しています:

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

    ただし、PHPファイルでは、実際の配列ではなく、複数の個別のJSONオブジェクトのみを出力します。まず、データベースからすべてのアイテムをPHP配列に収集してから、エンコードして1回だけ出力する必要があると思います。

    私のPHPスキルは少し錆びていますが、これがうまくいくことを願っています:

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

    その場合、出力は次のようになると思います(おそらくインデントなし):

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


    1. mysqlDataSourceを使用したjavax.naming.NoInitialContextException

    2. postgresでテーブルの列名を大文字に変更する

    3. レシピデータベース、材料で検索

    4. MySQL-行からのPHP固有の値