PHP Pdo数组中没有列名

时间:2013-01-14 04:04:53

标签: php mysql pdo

我在PHP中有以下查询:

$stmt = $conn->prepare('SELECT 
        date, 
        avg(sells) as sells
FROM `table` WHERE product_id = :id group by date having count(id) > 1');
$stmt->execute(array('id' => $product));
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);

正如所料,这让我回头:

array(2) { 
    [0]=> array(2) { 
        ["date"]=> "2013-1-11" ["sells"]=> "73.5000" 
    } 
    [1]=> array(2) { 
        ["date"]=> "2013-1-11" ["sells"]=> "77.0000" 
    }
}   

无论如何,我可以在不使用php循环的情况下获得以下输出?

array(2) { 
    [0]=> array(2) { 
        "2013-1-11",
        "73.5000" 
    } 
    [1]=> array(2) { 
        "2013-1-11",
        "77.0000" 
    }
}   

2 个答案:

答案 0 :(得分:6)

而不是PDO::FETCH_ASSOC使用PDO::FETCH_NUM

答案 1 :(得分:0)

由于您声明要使用JSON,请尝试以下内容:

$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($result);

这将根据返回的数据为您提供有效的JSON结构。