【发布时间】:2015-05-21 18:51:28
【问题描述】:
您好,我有以下代码,它从我拥有的表中选择一些结果。我没有包含 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?
【问题讨论】:
-
为什么不能只获取所有结果,然后使用该数组的第一个元素?您描述的行为在大多数情况下实际上是有益的。
-
为什么不使用 fetchall,然后通过指定要回显第一个结果来回显第一个结果?
-
@raina77ow 感谢您的帮助,这解决了我的问题。请将此作为答案,我会接受它