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 に答える