我正在尝试让 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
)
最佳答案
没有。 SQL 不能以这种方式工作,MySQL 库及其 PHP 绑定(bind)都不支持这种方式。如果您想拥有与此类似的东西,那么您将需要一个真正的面向对象的数据库及其 PHP 绑定(bind)。
关于php - mysql语句中使用方括号构建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13943675/