pg_connect()가 테이블 형식으로 오류를 표시하고 있습니다. 대신 오류 메시지에 표 형식으로 오류 메시지가 표시되어야한다는 경고 메시지가 필요합니다.pg_connect() 함수 오류를 catch하는 방법은 무엇입니까?
오류 메시지가
경고 : pg_connect() [function.pg이-연결] : FATAL : PostgreSQL 서버에 연결할 수 없습니다 암호 인증/public_html을/여기서 queueManager/홈/시험에서 사용자 "테스트"실패/모듈/Database.php on line 41
오류를 테이블 형식으로 표시하는 경우.
pg_connect() throwed exception을 실행 한 후.
하지만 작동하지 않습니다.
코드
function connect()
{
$HOST = $GLOBALS[Database_Conn][Db_Host]; # Host name
$USER = $GLOBALS[Database_Conn][Db_User]; # database user name
$DBNAME = $GLOBALS[Database_Conn][Db_Name]; # name of the database
$PASSWORD = $GLOBALS[Database_Conn][Db_Pass]; # password the database user.
try
{
$conn = pg_connect("host=$HOST dbname=$DBNAME user=$USER ".
"password=$PASSWORD sslmode=disable");
if(!$conn)
{
throw new Exception("Database Connection Error");
}
return $conn;
}
catch (Exception $e)
{
print <<<_HTML_
<script> alert('Caught exception');
</script> _HTML_;
die();
}
}
예를 들어, 함수 호출 앞에 @를 추가, 나에게 PHP에 의해 생성 된 오류 텍스트를 숨기려면 솔루션
을 아닌가요 참조하십시오? (정직한 질문, PHP는 이러한 종류의 예외 발생을 지원합니까?) – DrColossos
예, PHP 5 이상은 예외를 지원합니다. 그의 코드는 예외적 인 것들을 테스트하고 있기 때문에 그런 것 같다. 문제는 * pg_connect가 반환되기 전에 "Warning : pg_connect()"메시지가 생성된다는 것입니다. – intgr
@DrColossos :: 아마 그는 연결 시도에 사용 된 사용자 이름을 밝히는 기본 예외를 숨기려고합니다.이 경우 메시지는 다음과 같습니다. '사용자의 암호 인증에 실패했습니다.' '가능하면 시험' ' –