我想将第一个PDO结果数组与其他数组分开.这是我的尝试:
$iterator = 1; while($results = $stmt->fetch(PDO::FETCH_ASSOC) and $iterator == 1){ /* I need just first row here */ print_r($results); $iterator++; } while($results = $stmt->fetch(PDO::FETCH_ASSOC)){ /* I need other rows here */ print_r($results); }
但只有首先while()
在我的代码中执行(上面的代码总是只打印查询的第一个结果).那么,我该如何解决呢?
注意:我不想用fetchAll();
.
尝试类似的东西:
$results = $stm1->fetch(); print_r($results); while($results = $stm1->fetch()){ print_r($results); }
你实际上并不需要一个循环来获取第一个元素,然后你可以继续使用曾经是你的第二个循环的迭代.
这个问题
while($results = $stm1->fetch() and $iterator == 1){
如果结果集中有一个或多个结果,您将始终调用$stm1->fetch()
两次:第一次进入循环,然后第二次进行第二次迭代,然后再实际检查($iterator == 1)
不再为真.
如果结果集中只有两个结果,那么将在第二个循环中显示从未输入(因为fetch不会有任何结果).