PDO连接测试
查询:
是否可以利用PDO来测试有效和无效数据库连接?下面是尝试连接的代码片段:
try{ $dbh = new pdo('mysql:host=127.0.0.1:3308;dbname=axpdb','admin','1234'); die(json_encode(array('outcome' => true))); }catch(PDOException $ex){ die(json_encode(array( 'outcome' => false, 'message' => 'Unable to connect' ))); }
但是,脚本会一直尝试连接,直到达到执行时间限制(60 秒),而不是指示连接失败。
答案:
要与 PDO 建立正确的数据库连接,需要指定错误模式连接过程:
try{ $dbh = new pdo( 'mysql:host=127.0.0.1:3308;dbname=axpdb', 'admin', '1234', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); die(json_encode(array('outcome' => true))); } catch(PDOException $ex){ die(json_encode(array('outcome' => false, 'message' => 'Unable to connect'))); }
通过将错误模式设置为“异常”(PDO::ERRMODE_EXCEPTION),任何连接错误都将作为异常引发。这允许您捕获这些异常并妥善处理它们,提供比简单等待超时更丰富的错误消息。
有关这些主题的更多信息,请参阅提供的链接:
以上是PDO可以用来测试数据库连接的有效性吗?的详细内容。更多信息请关注PHP中文网其他相关文章!