Php:迭代记录集-更简单的方法


php: iterate recordset - easier way?

我刚刚从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

任何想法?由于

你也会做同样的事情…

$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'];
}

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

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

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

然而,其中一些(如PDO的fetchAll方法)返回的是常规PHP数组,您可以使用常规foreach操作符进行迭代。