Обработать 0 rows в запросе к PostgreSQL

318
30 июля 2017, 10:07

Привет. Как обработать запрос к PostgreSQl, если он вернул 0 rows? Например, я делаю запрос:

SELECT data FROM table WHERE id = {$id}

В командной строке psql возвращает:

data

(0 rows)

И я бы хотел сделать echo 'No data found by ID ' . $id;

UDP: @OlivianSuero, не работает:

if (!$result) {
    echo json_encode(array(
        "error" => true,
        "description" => "Data not exists",
    ));
} else {
    $row = pg_fetch_row($result);
    echo json_encode($row[0], JSON_UNESCAPED_UNICODE);
}

В случае, если запрашиваю несуществующий ID, то возвращается null.

Answer 1

Разобрался. Можно проверить количество возвращаемых row:

if (pg_num_rows($result) > 0) {}
Answer 2
$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "Произошла ошибка.\n";
  exit;
}
while ($row = pg_fetch_row($result)) {
  echo "Автор: $row[0]  E-mail: $row[1]";
  echo "<br />\n";
}
READ ALSO
Наследование свойств

Наследование свойств

Есть такой код:

253
Экранирование тега &lt;?php

Экранирование тега <?php

Как стоит экранировать <?php ? Например я хочу записать в файл

329
Автоматизация mysql

Автоматизация mysql

Доброго времени сутокПроблема следующая

259
Html Форма и ее php оброботчик

Html Форма и ее php оброботчик

Есть форма (текстовое поле textarea)В моей форме допустим Вы написали:

258