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

PDO: Set a custom key to each item in FETCH_ASSOCC result

我正在从 table 中获取几列并将其作为 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 新手,谁能指出我做错了什么?

干杯

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

foreach($rnsw as &$rnw)

你也可以这样做,省去循环:

$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");