我有这个查询,我想创建多维数组。我试过这个:
$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/