如何在php中按行迭代mysql查询

如何在php中按行迭代mysql查询,php,sql,mysql,loops,iteration,Php,Sql,Mysql,Loops,Iteration,好的,我正在尝试查询我的数据库并选择所有具有特定值的行。 之后,我使用mysql\u fetch\u array()将查询转换为一个数组,然后尝试使用for-each循环逐行遍历已获取的数组 <?php $query = mysql_query("SELECT * FROM users WHERE pointsAvailable > 0 ORDER BY pointsAvailable Desc"); $queryResultArray = mysql_fetch_array($qu

好的,我正在尝试查询我的数据库并选择所有具有特定值的行。 之后,我使用mysql\u fetch\u array()将查询转换为一个数组,然后尝试使用for-each循环逐行遍历已获取的数组

<?php
$query = mysql_query("SELECT * FROM users WHERE pointsAvailable > 0 ORDER BY pointsAvailable Desc");
$queryResultArray = mysql_fetch_array($query);
foreach($queryResultArray as $row)
{
    echo $row['pointsAvailable'];
}
?>

虽然当我对pointsAvailable列之外的任何列执行此操作时,比如一个名为“name”的文本类型的列,它只返回一个字母

如何逐行遍历返回的查询,并允许从当前行获取特定列的数据

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Name: %s", $row[0], $row[1]);  
}
或者使用MYSQL\u ASSOC将允许您使用命名列

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf("ID: %s  Name: %s", $row["id"], $row["name"]);
}

是的,使用mysql\u fetch\u array($result)是一个不错的选择。

谢谢您的出色工作。那么,每次调用查询资源上的mysql\u fetch\u数组时,它实际上只返回一行吗?每次调用mysql\u fetch\u数组时,它返回当前行并将数据指针向前移动到下一行。遍历所有行时,返回false,while循环结束。