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

时间:2011-04-08 12:29:26

标签: php database loops recordset

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

任何想法? 感谢

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

你可能正在寻找一个包含单词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运算符进行迭代。