pg_connect() 以表格式显示错误。而不是以表格式显示错误消息,需要错误消息警报。
错误信息
警告:pg_connect() [function.pg-connect]:无法连接到 PostgreSQL 服务器:致命:第 41 行 /home/test/public_html/QueueManager/Modules/Database.php 中的用户“test”的密码身份验证失败
之后如果将错误显示为表格格式。
执行 pg_connect() 后抛出异常。
但它不起作用。
Code
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();
}
}
请给我解决方案
pg_connect
不会抛出异常,因此您必须将其转换为如下所示的异常。
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
}
set_error_handler("exception_error_handler");
try {
$conn=@pg_connect("host=dbhost user=dbuser dbname=db password=dbpass");
} Catch (Exception $e) {
Echo $e->getMessage();
}
请参阅此更详细信息
http://php.net/manual/en/language.exceptions.php
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)