如何捕获 pg_connect() 函数错误?

2023-11-21

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(使用前将#替换为@)

如何捕获 pg_connect() 函数错误? 的相关文章

  • 计算两个数字之间的差异

    我想计算两个给定数字之间的差异 例如 1 5 或 24 35 我必须将数组中的数字分开并写出它们之间的差异 如下所示 1 2 3 4 5 或 24 25 26 27 28 29 30 31 32 33 34 35 是否有任何 php 函数可
  • 如何为 Lumen 的封闭路线指定路线名称?

    您好 我有以下流明路线 router gt get end function Illuminate Http Request request use router controller router gt app gt make App H
  • Instagram 如何使用 Amazon S3?

    在将文件上传到 Amazon S3 时 我需要深入了解 Instagram 的工程 我刚刚开始使用 S3 我认为 Instagram 是一个值得效仿的好模式 因为他们每天上传数千张图片 我的应用程序有点相似 用户上传图片 可以删除自己的图片
  • 基于 PHP 的 CSV 编辑器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道用 PHP 编写的在线 CSV 编辑器允许用户打开 编辑和保存给定的 CSV 文件 我能找到的只
  • mongodb对话系统

    我正在实施一个verymongodb 上的简单对话系统 这个想法应该是 当我打开一个 convo 时 它应该显示发送和接收的消息 到目前为止一切正常 并且应该非常容易 通过使用像这样的伪代码这样的简单查询 from my id AND to
  • 如何在Web服务中传递URL

    我想将此 URL 作为网址中的值传递http localhost h2orn php verify php email emails hash hash但是 我只能在 符号之前传递 我想传递所有 URL 我正在使用java网络服务 代码在这
  • symfony 2 形式的函数 getName 做什么

    这是我的表格类 class CommentType extends AbstractType public function buildForm FormBuilder builder array options builder gt ad
  • Brew Postgresql 启动但进程未运行

    我在 Mac 上通过 Brew 安装了 Postgres 然后 我尝试启动它 gt brew services restart postgres Stopping postgresql might take a while gt Succe
  • PSR-4 代码库中条令生成器的解决方法

    在 Windows 机器上使用 Symfony 2 和 Doctrine 我正在尝试 从现有模式生成实体 php app console doctrine mapping import force CoreBundle annotation
  • 配置 .htaccess 以在 PHP 框架 (Silex) 上工作

    我的 Apache2 本地主机 linux 上有一个工作路径 http localhost lab silex web index php hello name 我想成为 http localhost lab silex hello nam
  • 如何从字符串中只获取数字? [复制]

    这个问题在这里已经有答案了 我有这样的字符串 第 001 课 完成 在这种情况下 我只想获取数字部分001 我试过这个 str the title preg match all d str matches number implode ma
  • PHP 中的正则表达式:找到第一个匹配的字符串

    我想在非常长的文本中找到第一个匹配的字符串 我知道我可以使用 preg grep 并获取返回数组的第一个元素 但是 如果我只需要第一场比赛 或者我知道提前只有一场比赛 那么这样做效率不高 有什么建议吗 预匹配 http www php ne
  • 如何在javascript中使用自动递增id?

  • WooCommerce:用文本覆盖购物车价格

    我们有很多产品具有以下功能 No price 零价格 我们让它们可以通过内置挂钩购买 但购物车仍然将它们显示为具有0 price结账时 我们希望购物车和结帐摘要显示 特殊订单 或任何其他文本 但 WooCommerce 似乎使基于文本的价格
  • 需要 mysqli_fetch_all 的替代方案

    我有一个 php mysqli 代码 可以找到一个我的本地服务器 但是在我的服务器上使用它时 我得到了一个 Fatal error Call to undefined function mysqli fetch all in home3 t
  • Yii2 DropDownList Onchange 更改自动完成小部件“源”属性?

    我已经尝试过这个 yii2 依赖的自动完成小部件 https stackoverflow com questions 27025791 yii2 dependent autocomplete widget 但我不知道为什么它不起作用 这是我
  • 如何在 joomla 模块中通过 javascript 发送输入文件类型

    我想将带有 javascript 的文件发送到 php 文件 我的 php 文件中有这个表单
  • 使用 Sequelize.js 和 PostgreSQL 查询关联模型上的 JSONB 字段

    我有我的两个模型Foo and Bar Foo有一个字段barId 因此有一个Bar与其关联的对象 我可以查询我所有的Foo对象并包括它们的关联Bar对象如此 我正在使用 TypeScript续集打字稿 https github com R
  • ZF2 工厂获取参数

    我有一个动态类别导航 在导航工厂中 我想从路线获取参数 我怎样才能做到这一点 在我看来 在我的 module php 中 public function getServiceConfig return array factories gt
  • sqlsrv_num_rows 不返回任何值

    我正在尝试获取查询中返回的行数 while 循环遍历结果有效 但由于某种原因 sqlsrv num rows 不返回任何值 result SELECT from dtable WHERE id2 apple query sqlsrv que

随机推荐

  • 已编译的 iOS 应用程序 (IPA) 中的内容加密

    由于IPA结构只是一个包含编译代码和图像和音频等媒体内容的压缩文件 我如何保护内容不被他人提取和窃取 我可以在 IPA 中添加任何加密吗 这个答案提到应用程序在进入用户设备时已经加密 Apple 是否会修改提交到 App Store 的应用
  • WebRTC:确定 PeerConnection 中使用哪个 TURN 服务器

    场景 您想知道 TURN 服务器是否用于特定呼叫 以及您在创建 PeerConnection 期间提供的 TURN 服务器数组中的哪一个正在使用 现在有两个选择 Wireshark 但是当您位于公司代理后面并且 TURN 服务器位于其外部时
  • 错误:[ProxyFacade] 不是 组件。 的所有子组件都必须是

    我在 React 17 中使用 react router dom 6 0 2 我正在使用打字稿 我试图添加路线 但出现错误 未捕获的错误 ProxyFacade 不是组件 的所有子组件必须是 a 或 我不知道出了什么问题 有什么我错过的吗
  • 将媒体查询与限定选择器相结合的语法

    在我们当前的设计中 表单元素在移动设备上的样式有所不同 media screen and max width 759px form label display block float none There s more 鉴于屏幕空间有限 我
  • 是否可以使用 ImageMagick 渲染多色表情符号?

    我的文本可能包含表情符号 我想用 RMagick 将其渲染成 JPEG 图像 我也可以直接使用 ImageMagick 我只能使用 AndroidEmoji ttf 渲染单色表情符号 但如果我使用 AppleColorEmoji ttf I
  • 在Java中,为什么String是非原始数据类型?

    在Java中我们可以直接使用String声明字符串变量名称并指定其值 即使 String 是非原始数据类型 我们也不必使用 new 关键字将字符串定义为数组 有人可以解释一下为什么 String 是非原始数据类型吗 字符串是非原始的 因为只
  • 使用 CreateProcessAsUser 时等待进程退出

    我在用着创建进程为用户在 C 中通过服务启动进程 我的服务需要等待进程退出 但我不知道该怎么做 我不想检查进程列表中的进程是否存在 The 处理信息返回新创建进程的句柄 hProcess 您可以等待此句柄 当进程退出时 该句柄将发出信号 您
  • 如何在 Visual Studio 中设置项目引用的“特定版本”属性

    我有一个包含多个项目的 Visual Studio 解决方案 并将项目之间的引用设置为项目引用 添加对程序集的引用后 引用的属性包含以下设置 Specific Version True False 项目引用缺少此属性 怎么设置呢 我希望我的
  • REGEX - 允许数字和 . - /

    我需要一个正则表达式来只允许数字和 它应该允许这样的事情 011 235673 98923 0001 12 您正在寻找的模式 仅与带有数字 和 的字符串匹配 0 9 如果您有一种特定的语言 并且想要实现这一点 我也许可以帮助您
  • 从 Socket 使用 InputStream 时 Scanner.nextLine() 会阻塞

    当我使用接收数据时Socket getInputStream 直接 没有像扫描仪这样的接口 它不会阻塞 但是 当我尝试使用扫描仪时 类似于我们从System in 确实如此 我想知道这样做的原因 以及连接的 Socket 提供给您的 Inp
  • 如果值匹配,则将单元格数据连接到另一个数据

    我有两个columns A and B在同一个 Excel 工作表中 我正在尝试如果在Column B两个值匹配 那么它应该复制相关值A在同一行 For e g Table Column A Column B xyz 1 abc 1 pqr
  • 将事件保存到用户的日历

    如何将事件添加到用户的日历中 然后允许用户选择日历等 我有这段有效的代码 但这会将事件添加到用户的默认日历中 如何允许用户更改日历 自定义警报等 我见过其他应用程序打开日历应用程序并预 先填写字段 add to calendar let e
  • 使用 Python 2.x 中的“is”运算符将对象与空元组进行比较

    我看惯了if obj is None 在Python中 我最近遇到if obj is 由于元组是不可变的 这听起来像是 Python 解释器中合理的内部优化 让空元组成为单例 因此允许使用is而不是要求 但这在某个地方得到保证吗 从哪个版本
  • 使用多个键排序时反转特定键

    当使用多个键排序时 如何反转单个键的顺序 例如 vec sort by key k foo k reverse bar k 您可以使用sort by与Ordering reverse代替sort by key use std cmp Ord
  • Rails 3:如何通过javascript触发表单提交?

    我有一个表单 大部分只是作为普通表单提交 所以我不想在 form tag 中设置 remote gt true 选项 然而 在某些情况下 我希望能够有一个 javascript 函数发布表单 就像它是通过 remote gt true 发布
  • ASP.NET Identity - 使用安全标记强制重新登录

    So from ASP NET Identity 的 IUserSecurityStampStore 接口是什么 我们了解到 ASP NET Identity 具有安全标记功能 用于使用户登录 cookie 无效 并强制他们重新登录 在我的
  • 如何将dispatch_data_t转换为NSData?

    这是正确的方法吗 convert const void buffer NULL size t size 0 dispatch data t new data file dispatch data create map data buffer
  • 如何在闪亮页面而不是弹出窗口中渲染 scatter3d

    我正在考虑在我闪亮的应用程序中实现 3D 交互式绘图 到目前为止我一直在使用plotly 然而 plotly 有一个主要缺点 渲染时速度非常慢 我已经完成了检查 尽管涉及大量数据集 但更新的 outplot plot 因此 我希望使用一个名
  • 同时运行延迟作业和 Sidekiq

    我目前使用延迟作业来异步处理作业 我没有创建工人 而是使用 delay方法很多 我想转到 Sidekiq 但我的工作类型太多 无法确保所有工作都是线程安全的 所以我想并行运行 Delayed Job 和 Sidekiq 并一次迁移一种类型的
  • 如何捕获 pg_connect() 函数错误?

    pg connect 以表格式显示错误 而不是以表格式显示错误消息 需要错误消息警报 错误信息警告 pg connect function pg connect 无法连接到 PostgreSQL 服务器 致命 第 41 行 home tes