我有这个PDO
$stmt = $db->prepare('SELECT * FROM channels WHERE id=:id');
$stmt->bindValue(':id', $id, SQLITE3_INTEGER);
$result = $stmt->execute();
现在最简单的方法是访问使用$row['column_name']
返回的行?
我知道确定查询只会返回一行,因为不可能有多行具有相同的id
,所以我希望尽可能简单地保持代码访问该行
我在网上看到的例子非常冗长和复杂,使用while循环来循环遍历我不需要的行等。
答案 0 :(得分:1)
应该像
一样简单$row = $stmt->fetch(PDO::FETCH_ASSOC);
你看到的例子可能更像是
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { ...
因为它们旨在处理具有多行的查询结果。但如果你知道你只有一排,你可以放弃循环。当然,这是假设您的查询实际成功执行并返回结果。至少检查
是个好主意if ($row) { ...
在您尝试在后续代码中使用它之前。