这是我的基本php代码:
try{
$db = new PDO("mysql:dbname=name;host=localhost", $db_username, $db_password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//run queries etc...
} catch (PDOException $e) {
//handle and log error appropriately
}
是否有一种简单的方法可以到达catch块或强制PDOException,以便在发生数据库错误时我可以测试和/或调试页面?
答案 0 :(得分:1)
伪造(坏)连接。如果你的数据库名称是'name',请输入'name1'。
-EDIT- downvote是什么?它有效...会评论,但我还不能。
答案 1 :(得分:1)
是否有一种简单的方法可以到达捕获区
是。像在任何其他情况下一样,只是强迫故意错误。
或强制PDOException
就像任何其他例外throw new PDOException('test');
但是,要使连接代码抛出错误,必须将errmode设置设置为连接选项,因为在连接后设置此设置显然没用。
} catch(PDOException $ e){ //适当地处理和记录错误 }
这是处理错误的错误方式。创建并安装an exception handler。虽然您必须将try..catch
用于其他目的。