【问题标题】:PDO equivalent of pg-result-seekPDO 等效于 pg-result-seek
【发布时间】:2013-10-18 20:09:20
【问题描述】:

有人知道 pg-result-seek 的 PDO 等价物吗?我想使用 Postgre 倒带数据集。

【问题讨论】:

  • 不要倒带。将结果存储在数组中。
  • 想详细说明一下?我的数据集很小,但有很多字段。将所有内容放在一个数组中似乎远不如倒带实用。
  • 如果您依赖 Postgres 特定的功能,您可以考虑使用 Postgres 库而不是 PDO。
  • 如果您要在 HTML 页面上显示您的字段,请注意,将它们存储在数组中是唯一明智的方法

标签: php postgresql pdo


【解决方案1】:

PDO 的query() 方法将返回PDOStatement Object。没有像您要求的那样寻求特定记录的等价物。一种替代方法可能是使用 fetchAll() 方法,然后获取您要查找的第 N 条记录。

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the remaining rows in the result set */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
print_r($result);

$result[N] 将包含您要查找的行。

【讨论】:

  • 谢谢,但我不是在寻找第 n 条记录。相反,我想运行循环两次。
  • 您可以轻松地倒回数组并再次对其进行迭代。事实上,如果 db libfary 或类更改不需要更改,这可能是首选
【解决方案2】:

如果数据库允许,使用 PDO::FETCH_ORI_ABS 或 PDO::FETCH_ORI_REL,

例如。

$result = $sth->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 671);

【讨论】:

    【解决方案3】:

    这是fetch 函数的一部分: http://www.php.net/manual/en/pdostatement.fetch.php

    但我认为没有必要这样做,如果您选择行,则需要它(全部)...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-20
      • 2015-10-12
      • 2017-09-17
      • 2012-08-22
      • 2012-08-22
      • 2017-03-27
      相关资源
      最近更新 更多