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

1つのオブジェクトjsonで2つのクエリmysql

    これを試してみてください

    $result = mysql_query("SELECT * FROM data where id='123456'");
    $fetch = mysql_query("SELECT name,age,city FROM people where id='123456'"); 
    
    // I think, you'll get a single row, so no need to loop
    $json = mysql_fetch_array($result, MYSQL_ASSOC);
    
    $json2 = array();
    while ($row = mysql_fetch_assoc($fetch)){
        $json2[] = array( 
            'name' => $row["name"],
            'age' => $row["age"],
            'city' => $row["city"]
        );
    }
    $json['people'] = $json2;
    echo json_encode($json);
    

    print_r($json)の結果 このようなものでなければなりません

    Array
    (
        [date] => 2013-07-20
        [year] => 2013
        [id] => 123456
        [people] => Array
            (
                [0] => Array
                    (
                        [name] => First
                        [age] => 60
                        [city] => 1
                    )
    
                [1] => Array
                    (
                        [name] => second
                        [age] => 40
                        [city] => 2
                    )
    
            )
    
    )
    

    echo json_encode($json)の結果 する必要があります

    {
        "date" : "2013-07-20",
        "year":"2013",
        "id":"123456",
        "people":
        [
            {
                "name" : "First",
                "age" : "60",
                "city" : "1"
            },
            {
                "name" : "second",
                "age" : "40",
                "city" : "2"
            }
        ]
    }
    

    echo json_encode(array($json))を実行する場合 次に、json全体を取得します 配列に包まれて、このようなもの

    [
        {
            "date" : "2013-07-20",
            "year":"2013",
            "id":"123456",
            "people":
            [
                {
                    "name" : "First",
                    "age" : "60",
                    "city" : "1"
                },
                {
                    "name" : "second",
                    "age" : "40",
                    "city" : "2"
                }
            ]
        }
    ]
    


    1. テストのためにMySQLインスタンスを失敗またはクラッシュさせる方法

    2. psycopg2は実際にはデータを挿入していません

    3. MariaDB JSON_OBJECTAGG()の説明

    4. 2つの日付の差を時間に丸める方法