Я пытаюсь подключиться к базе данных postgres, используя pg_connect в php. Если я предоставляю неверные учетные данные для тестирования, он не возвращает false.
Вместо этого его возвращение ниже ошибки
Описание:
pg_connect(): Не удалось подключиться к серверу PostgreSQL: не удалось подключиться к серверу: соединение отклонено
Попробуйте это может быть полезно
<?php
function getdb() {
$db = pg_connect("...") or die('connection failed');
return $db;
}
?>
Я думаю, проблема здесь в том, что вы пытаетесь распечатать результат, но ничего не печатаете значение false prints, так что вы просто видите предупреждение, которое генерирует pg_connect.
print(false); //prints nothing
Если вы хотите увидеть фактическое значение переменной, вместо этого используйте var_dump():
$result = pg_connect(...);
var_dump($result);
Как кто-то сказал в комментарии, вы должны проверить здесь: как поймать ошибку функции pg_connect()?
Вы можете скрыть ошибку с помощью @и сделать что-то вроде этого:
<?php
$db = @pg_connect("...") or die("failed");
if( $db == "failed"){
// false
}
else {
// true
}
?>