使用PDO在SQLite中检索单个(也是唯一)行的最简单方法

时间:2016-02-08 18:35:07

标签: php sqlite pdo

我有这个PDO

$stmt = $db->prepare('SELECT * FROM channels WHERE id=:id');
$stmt->bindValue(':id', $id, SQLITE3_INTEGER);
$result = $stmt->execute();

现在最简单的方法是访问使用$row['column_name']返回的行?

我知道确定查询只会返回一行,因为不可能有多行具有相同的id,所以我希望尽可能简单地保持代码访问该行

我在网上看到的例子非常冗长和复杂,使用while循环来循环遍历我不需要的行等。

1 个答案:

答案 0 :(得分:1)

应该像

一样简单
$row = $stmt->fetch(PDO::FETCH_ASSOC);

你看到的例子可能更像是

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { ...

因为它们旨在处理具有多行的查询结果。但如果你知道你只有一排,你可以放弃循环。当然,这是假设您的查询实际成功执行并返回结果。至少检查

是个好主意
if ($row) { ...

在您尝试在后续代码中使用它之前。