php - 如何在 PDO 中创建具有列名的多维数组

标签 php mysql arrays multidimensional-array pdo

我有这个查询,我想创建多维数组。我试过这个:

$columns = array("col1", "col2", "col3", "col4");
$query = "SELECT " . implode(",", $columns) . " FROM my_table";
$sql = $db->prepare($query);
$sql->execute();

$data = array();
while ($row = $stm->fetch()) {
    $nestedData = array();

    for ($i = 0, $m = count($columns); $i < $m; $i++) {
        $value = $row[$columns[$i]];
        $nestedData[] = empty($value) === false ? $value : "";
    }

    $data[] = $nestedData;
}

我得到这样的东西:

[["value11","value12","value13","value14"],
["value21","value22","value23","value24"], etc]

我还想有列的名称(像这样):

[["col1":"value11","col2":"value12","col3":"value13","col4":"value14"],
["col1":"value21","col2":"value22","col3":"value23","col4":"value24"], etc]

有人可以帮我实现这个目标吗?

最佳答案

看看“fetch_style”属性: http://php.net/manual/en/pdostatement.fetch.php

并使用 http://php.net/manual/en/pdostatement.fetchall.php

$columns = array("col1", "col2", "col3", "col4");
$query = "SELECT " . implode(",", $columns) . " FROM my_table";
$sql = $db->prepare($query);
$sql->execute();
$data = $sql->fetchAll(PDO::FETCH_ASSOC);

关于php - 如何在 PDO 中创建具有列名的多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33934610/

相关文章:

php - 表单中输入的多个值?

php - WordPress 主题 : Standalone theme need index. php 文件错误

php - 使用 codeigniter 在 mysql 行中输入多个值,并用逗号输出一一分隔

mysql - mysql建表出错

arrays - Bash 从一个数组中获取数组成员,并使用另一数组中的索引值

php - 将具有指定值的数组合并为一个键

php - 我如何对 php mysql 中两个或多个表的字段值求和

mysql - 根据先前删除的子行删除父行

c - 将字符串放入C中的二维字符数组

php - TextArea 数据在存储到 MySQL 之前进行清理