Как перебрать строку через запрос MySQL в PHP - PullRequest
11 голосов
/ 18 февраля 2010

Хорошо, поэтому я пытаюсь сделать запрос к моей базе данных и выбрать все строки, которые имеют определенное значение. После этого я преобразую запрос в массив с помощью mysql_fetch_array (), затем я попытался выполнять итерацию по строке через извлеченный массив, используя для каждого цикла.

<?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, он возвращает только одну букву.

Как мне перебирать возвращаемый запрос строка за строкой и получать выборочные столбцы данных из текущей строки?

Ответы [ 2 ]

26 голосов
/ 18 февраля 2010
$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"]);
}
0 голосов
/ 18 февраля 2010

Да, используя mysql_fetch_array($result) - это путь.

...