PDO laststatment->fetchAll(PDO::FETCH_COLUMN, $column) 每次调用都会重新运行查询吗?

发布于 2024-09-10 04:33:02 字数 206 浏览 2 评论 0原文

我正在执行一个获取两个字段的查询。
我需要将每个字段放入不同的数组中。
这会为每次调用重新运行查询还是只是重新迭代结果集?

$a= Laststatment->fetchAll(PDO::FETCH_COLUMN,0);
$b= Laststatment->fetchAll(PDO::FETCH_COLUMN,1);

I am doing a query which fetches two fields.
I need each of those fields into a different array.
Will this rerun the query for each call or just re iterate over the result set?

$a= Laststatment->fetchAll(PDO::FETCH_COLUMN,0);
$b= Laststatment->fetchAll(PDO::FETCH_COLUMN,1);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不必你懂 2024-09-17 04:33:02

选项 3:它根本不会重复结果集,因为所有内容都已被获取,并且第二次调用将返回一个空数组(至少,这里是这样)。

 $a = array();
 $b = array();
 while($r = $laststatement->fetch(PDO::FETCH_NUM)){
    $a[] = $r[0];
    $b[] = $r[1];
 }

也就是说:MySQL 没有可滚动游标,我没有尝试其他具有 PDO::CURSOR_SCROLL 可能性的数据库。

Option 3: it will NOT reiterate over the resultset at all, as everything already has been fetched, and the second call will return an empty array (at least, here it does).

 $a = array();
 $b = array();
 while($r = $laststatement->fetch(PDO::FETCH_NUM)){
    $a[] = $r[0];
    $b[] = $r[1];
 }

That is: with MySQL there is no scrollable cursor, I have not attempted other database with a PDO::CURSOR_SCROLL possibility.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文