pg_connect не возвращает false при сбое

1

Я пытаюсь подключиться к базе данных postgres, используя pg_connect в php. Если я предоставляю неверные учетные данные для тестирования, он не возвращает false.

Вместо этого его возвращение ниже ошибки

Описание:

pg_connect(): Не удалось подключиться к серверу PostgreSQL: не удалось подключиться к серверу: соединение отклонено

  • 1
    Это то, что вы ищете. stackoverflow.com/questions/4253136/...
  • 0
    Пожалуйста, проверьте эту ссылку, если вы используете linux или centos stackoverflow.com/questions/3481736/…
Показать ещё 1 комментарий
Теги:

3 ответа

1

Попробуйте это может быть полезно

<?php
function getdb() {
    $db = pg_connect("...") or die('connection failed');
    return $db;
}
?>
  • 0
    попытался использовать вышеупомянутую функцию, но все же я получаю ошибку.
  • 0
    Что такое ошибка?
Показать ещё 2 комментария
1

Я думаю, проблема здесь в том, что вы пытаетесь распечатать результат, но ничего не печатаете значение false prints, так что вы просто видите предупреждение, которое генерирует pg_connect.

print(false); //prints nothing

Если вы хотите увидеть фактическое значение переменной, вместо этого используйте var_dump():

$result = pg_connect(...);
var_dump($result);
  • 0
    попытался использовать var_dump, но все равно получаю ошибку.
0

Как кто-то сказал в комментарии, вы должны проверить здесь: как поймать ошибку функции pg_connect()?

Вы можете скрыть ошибку с помощью @и сделать что-то вроде этого:

<?php
$db = @pg_connect("...") or die("failed");
if( $db == "failed"){
  // false
}
else {
  // true
}
?>

Ещё вопросы

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