3

我在 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" 
    }
}   
4

2 回答 2

7

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

于 2013-01-14T04:07:39.593 回答
1

既然您声明要使用 JSON,请尝试以下操作:

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

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

于 2013-01-14T04:09:33.427 回答