我想使用内置的PDO类连接到mysql数据库 如果我理解正确,默认情况下PDO方法不会抛出异常。这是对的吗? 所以我尝试更改错误模式:
$pdo = new PDO($dsn, $user, $password);
$ pdo->的setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION);
我的问题是我在我的课程中使用名称空间所以我必须写:
$pdo = new \PDO($dsn, $user, $password);
但我不知道如何在此上下文中设置错误模式。
答案 0 :(得分:2)
$pdo = new \PDO($dsn, $user, $password);
$pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
你最初宣布它的方式相同,我的朋友!
请记住,PDO
本身就是类,无论是声明新实例(new PDO
),还是引用静态常量(PDO::ATTR_ERRMODE
)。由于您位于命名空间内,因此必须在其前加\
。这适用于PDO
的每次出现,它都是同一个类。所以我们始终使用\PDO
。
记住这一点可能很棘手,您也可以将use \PDO;
放在顶部,然后在整个过程中正常使用PDO
。选择一个,并随处坚持。