3

我正在尝试让 mysql 返回将由 php 解析为数组的列名。考虑一下:

$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 回答