PDO:为FETCH_ASSOC结果中的每个项目设置自定义键

时间:2015-01-06 22:08:34

标签: php pdo

我从表中获取几列并将其作为json返回,我想在将关键数组发送回客户端之前添加一个键。

我在get函数中执行此操作:

$stmt = $app->pdo->prepare("SELECT col1, col2, col3 FROM item_rnw");
$stmt->execute();

$rnws = $stmt->fetchAll(PDO::FETCH_ASSOC);

foreach($rnws as $rnw) {
    $rnw["icon"] = "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=•|000000";
}

echo json_encode($rnws);

然而,在客户端上记录响应只显示col1,col2,col3键+值对,没有图标键+值。

PDO的新手,有人能指出我做错了吗?

干杯

2 个答案:

答案 0 :(得分:6)

问题是您没有对阵列中的项目进行操作。试试这个......

foreach($rnsw as &$rnw)

答案 1 :(得分:6)

你也可以这样做,保存循环:

$icon = "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=•|000000";
$stmt = $app->pdo->prepare("SELECT col1, col2, col3, '$icon' as icon FROM item_rnw");