Неожиданный результат в mysql_fetch_array

0

Я использую сложный оператор объединения для получения данных из таблицы "items", где "column1" равен значению table2.ID

Это в инструкции mysql_query(), и он должен возвращать 3 строки.

Теперь я понимаю, что, используя

$array=mysql_fetch_array($queryresult);

Затем я могу пройти через каждую строку, используя

foreach($array as $output) {
     echo $output['ID'];
}

Это, однако, не возвращает то, что я хочу. Использование print_r on $output выводит нечувствительную информацию.

Итак, да, это вернулось к основам, но, очевидно, я пропустил эту точку.

  • 1
    Это, вероятно, проблема с вашим синтаксисом MySQL. Каков текст вашего запроса?
  • 0
    Вы уверены, что запрос на самом деле возвращает то, что вы хотите? Вы проверяли это отдельно, через PHPMyAdmin / etc?
Теги:

3 ответа

1
Лучший ответ

Вам нужно использовать цикл while:

while($row = mysql_fetch_array($queryresult)){
  // handle each row
}
1

Вот как я это делаю. Это далеко не конец всему решению... Просто пример того, как я это делаю.

$result = mysql_query($query, $dbconnect) or trigger_error("SQL", E_USER_ERROR);
     $i = 0;
     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
        echo $row["questionId"];
        echo $row["questionText"];
        echo $row["questionReview"];
     $i++;
     }  

http://php.net/manual/en/function.mysql-fetch-array.php

0

$массив имеет одну строку в нем, когда вы попадаете в цикл, поэтому, когда вы говорите $output ['ID'], вы на один уровень глубже, чем вы ожидаете, идя по столбцам вместо каждой строки. Когда идентификаторы не существуют или переводятся в целые числа, это то, где входит глупость.

Используйте while ($ row = mysql_fetch_array ($ queryresult)), чтобы пройти через каждую строку в наборе результатов, затем получить доступ к значениям столбца из $row ['id'], $row ['name'] и т.д. вернет false, когда больше строк не будет.

Результат всегда будет единственным плоским массивом с одной строкой на индексный id, независимо от размеров соединения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню