我无法理解PDO中的fetch / fetchall的确切工作。我得到一个简单的例子,用于PDO获取以获取每一行并迭代显示其值?
答案 0 :(得分:0)
周围有很多例子..您也可以使用while
循环进行简单的提取
<?php
//your PDO connection goes here.....
$stmt = $db->query('SELECT username FROM yourtable');
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row['username'];
}
上的PHP手册
通过使用fetchAll,您可以在单个数组中获取所有结果。
$stmt = $db->query("SELECT username FROM yourtable");
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($results);
上的PHP手册
答案 1 :(得分:0)
执行查询时,会得到PDOStatement
个对象。一旦执行了查询,该对象将填充结果。
现在你有两个功能:
$pdoStatement->fetch();
和
$pdoStatement->fetchAll();
fetch
一次会获取一行。它也会自动前进,因此您无需调用next()
函数。只需在循环中调用fetch
,即可获得所有结果。 fetch
返回一个数组。
fetchAll
会立即获取所有行。返回一个数组数组(每个内部数组都是一行)。