PHP PDO方法获取匹配元素的简单列表

时间:2015-05-20 15:37:16

标签: php mysql pdo

使用PHP PDO获取元素列表的最简单方法是什么?有很多提取和获取参数,我不确定哪个是正确的。

表用户

| id | username | age |
-----------------------
| 5  |  Joey    | 33  |
| 6  | Terry    | 44  |
| 7  | Billy    | 44  |

查询

$q = "SELECT username FROM Users WHERE age = 44";
$db->prepare($q)->execute();
$res = $db->fetch??(PDO::??);
echo json_encode($res);
// Should return, ideally, {"Terry", "Billy"}

如果我使用fetchColumn,我似乎只得到一个结果。如果我使用带有assoc_array的fetchAll,那么我不想迭代数组,如果我可以避免它。

2 个答案:

答案 0 :(得分:0)

假设$ db是\ PDO的实例

$q = "SELECT username FROM Users WHERE age = :age";
$stmt = $db->prepare($q);
$stmt->bindParam(':age', 44, PDO::PARAM_INT);
$stmt->execute();

$objects = array();
while ($object = $stmt->fetch(PDO::FETCH_OBJ)) {
    $objects[] = $object;
}

echo json_encode($objects);

答案 1 :(得分:0)

我最终使用

$res = $stmt->fetchAll(PDO::FETCH_COLUMN);
return implode(",", $res);