好的,我正在尝试查询我的数据库并选择具有特定值的所有行。 之后我将查询转换为带有mysql_fetch_array()的数组,然后我尝试使用for循环遍历获取的数组中的行。
<?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”的text类型的列,它只返回一个字母。
如何逐行遍历返回的查询,并允许从当前行中获取特定的数据列?
答案 0 :(得分:26)
$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_ASSOC将允许您使用命名列
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
printf("ID: %s Name: %s", $row["id"], $row["name"]);
}
答案 1 :(得分:0)
是的,使用mysql_fetch_array($result)
是可行的方法。