18

我有一个在构造函数中接受现有PDO连接的类:

class Foo {
    public function __construct(\PDO $conn = NULL) {
        // ...
    }

    // ...
}

我的问题是:有没有办法确定现有PDO连接当前正在使用什么驱动程序(最好从此处找到的列表中)?我在 API 文档中没有看到任何内容。

出于好奇,我想知道正在使用哪个驱动程序,因为我的类中的功能是特定于数据库的,所以我想要一种方法来验证传递给它的连接是否是正确的类型。

4

2 回答 2

30

您可以PDO::getAttribute()使用PDO::ATTR_DRIVER_NAME

$name = $conn->getAttribute(PDO::ATTR_DRIVER_NAME);
于 2012-04-10T14:34:50.460 回答
5

使用getAttribute()

http://www.php.net/manual/en/pdo.getattribute.php

$pdo_object->getAttribute(PDO::ATTR_DRIVER_NAME);
于 2012-04-10T14:34:28.057 回答