Как вернуть результаты из базы данных в цикле PHP foreach

0

Итак, у меня есть этот код:

foreach ($_SESSION['basket'] as $item) {
    $ref = $_SESSION['basket'][$counter];

    $result = pg_query ($conn, 'SELECT * from music WHERE ref='.$ref.' ORDER BY artist');
}

Это приведет к Warning: pg_fetch_row() expects parameter 1 to be resource, boolean given штрафа, однако он выдает это Warning: pg_fetch_row() expects parameter 1 to be resource, boolean given если я попытаюсь получить более одной строки. Я не понимаю, как я указываю boolean на параметр 1, это код в строке 46, где он получает ошибку: ($row = pg_fetch_row($result))

заранее спасибо

  • 0
    Так где точный код, который использует pg_fetch_row ?
  • 0
    @u_mulder строка, которая использует этот код, является открытием оператора while ($row = pg_fetch_row($result)) {
Показать ещё 1 комментарий
Теги:

3 ответа

1

Вы можете использовать $row =pg_fetch_array($result) а затем $row['field_name'] чтобы принимать значения в цикле foreach.

Ошибка может быть вызвана тем, что ваша переменная соединения $conn не подключается к вашей базе данных.

Попробуйте все возможности. Спасибо.

0

Взгляните на примеры в PHP-документе: http://php.net/manual/en/function.pg-query.php.

ЗАПОМНИ:

  • A: вход Escape или даже лучше использовать подготовленные заявления
  • B: Проверьте возвращаемое значение перед повторением результатов. Если возникла ошибка, нет смысла пытаться итерации.

В общем, документы PHP - отличное место, когда они борются с деталями PHP-api, которые иногда... менее интуитивными, чем они могли бы быть. :-)

0

Если ваш запрос не выполняется, pg_query возвращает FALSE. Кроме того, вместо предотвращения использования SQL вы должны использовать pg_query_params.

Ещё вопросы

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