【问题标题】:php: iterate recordset - easier way?php:迭代记录集 - 更简单的方法?
【发布时间】:2011-04-08 12:29:26
【问题描述】:

我刚刚从 ASP 更改为 php,我对 php 处理记录集的方式有点困惑。 我想知道是否有一种更简单的方法可以通过创建 php 类来迭代记录集。 这是 ASP 语法来说明我的意思:

sq = "select * from myData"
set rs = db.execute(sq)
do while not rs.eof
    response.write rs("name")  // output data (response.write = echo)
    rs.movenext
loop

有什么想法吗? 谢谢

【问题讨论】:

  • 这个记录集属于哪个 DBMS?
  • 您通常会使用foreach 循环。有很多教程可供您学习。
  • @Blair 我不会这么说。
  • @Col。弹片 - 我错过了 php 类部分。我只是在谈论现有的(asp)代码。

标签: php database loops recordset


【解决方案1】:

你几乎会做同样的事情......

$sql = "select * from myData";
$result = mysql_query($sql) or die(mysql_error()); //executes query
while($row = mysql_fetch_array($result)){ //will automatically return false when out of records
    echo $row['name'];
}

【讨论】:

    【解决方案2】:

    您可能正在寻找名称中包含单词fetch 的函数。 例如。 mysql_fetch_assoc()$pdo->fetchAll()

    PHP 中的大多数数据库 API 函数都会返回某种称为“资源”的指针变量,可以将其传递给 fetch-family 函数,如下所示:

    $res = mysql_query();
    while($row = mysql_fetch_assoc($res)){
      echo $row['name'];
    }
    

    但是,其中一些(例如 PDO 的 fetchAll 方法)返回的是常规 PHP 数组,您可以将其用作常规 foreach 运算符进行迭代。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-26
      • 2021-11-20
      相关资源
      最近更新 更多