您好我有以下代码从我拥有的表中选择一些结果。我还没有包含SQL / Table结构,因为我知道SQL语句按预期运行。
我的问题是什么时候想要"回收"准备好的陈述,即我只想fetch
第一个结果,然后fetchAll
结果。当我fetchAll
时,结果集只包含一个结果(最后一个结果),但应该有两个结果。
$stmt = $conn->prepare(*SQL STATEMENT*);
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_CLASS| PDO::FETCH_PROPS_LATE,'MyClass');
$oneResult = $stmt->fetch();
echo $oneResult->get_Name();
$allResults = $stmt->fetchAll;
foreach($allResults as $row){
echo $row->getField_Name();
}
是否可以连续使用fetchAll
和fetch
而无需准备新的声明?
答案 0 :(得分:0)
只需使用fetchall,然后使用生成的数组获取第一个然后迭代:
$stmt = $conn->prepare(*SQL STATEMENT*);
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_CLASS| PDO::FETCH_PROPS_LATE,'MyClass');
$allResults = $stmt->fetchAll;
$oneResult = each($allResults);
echo $oneResult->get_Name();
foreach($allResults as $row){
echo $row->getField_Name();
}