我有一个接受构造函数中现有PDO
连接的类:
class Foo {
public function __construct(\PDO $conn = NULL) {
// ...
}
// ...
}
我的问题是:有没有办法确定现有PDO
连接当前使用的驱动程序(最好是从列表found here)?我没有在API文档中看到任何内容。
对于好奇,我想知道正在使用哪个驱动程序,因为我的类中的功能是特定于数据库的,所以我想要一种方法来验证传递给它的连接是否是正确的类型。
答案 0 :(得分:21)
您可以PDO::getAttribute()
使用PDO::ATTR_DRIVER_NAME
:
$name = $conn->getAttribute(PDO::ATTR_DRIVER_NAME);
答案 1 :(得分:5)
使用getAttribute()
:
http://www.php.net/manual/en/pdo.getattribute.php
$pdo_object->getAttribute(PDO::ATTR_DRIVER_NAME);