3

私は、phpによって配列に解析される列名をmysqlに返させようとしています。このことを考慮:

$sql = "SELECT user.id AS `user[id]`, user.name AS `user[name]`,
            user_info.address AS `user[info][address]`
            user_info.zip AS `user[info][zip]`
        FROM user JOIN user_info ON user.id = user_info.id";
$stmt = $conn->query($sql);
$results = $stmt->fetchAll();

私は次のようになりたい$results

array(
    [0] => array(
        [id] => 2,
        [name] => 'john',
        [info] => array(
            [address] => '1234 Main st',
            [zip] => 12345
        )
    )
    [1] => array(
        [id] => 3,
        [name] => 'tom',
        [info] => array(
            [address] => '2811 Second Ave.',
            [zip] => 98765
        )
    )
)

結果を手動でループせずにこれを行う方法はありますか。php がフォーム送信で角括弧を処理する方法と同様の機能が必要です (例: index.php?user[id]=2&user[name]=tom)

4

1 に答える 1

0

いいえ。SQL はこのようには機能しません。また、MySQL ライブラリもその PHP バインディングもこれをサポートしていません。これに似たものが必要な場合は、真のオブジェクト指向データベースとその PHP バインディングが必要になります。

于 2012-12-19T00:27:40.593 に答える