php - 从现有连接获取当前 PDO 驱动程序?

标签 php pdo

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

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

    // ...
}

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

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

最佳答案

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

$name = $conn->getAttribute(PDO::ATTR_DRIVER_NAME);

关于php - 从现有连接获取当前 PDO 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10090709/

相关文章:

php - 过滤 MySQL 查询。 "AND"运算符

php - Laravel + Eloquent ORM : HasManyThrough OrderBy TableC. column2

php - 为什么这个 PDO 语句会默默地失败?

php - 单列 PDO 上的 OR 运算符

php - 如何在 PDO 中获取数据库名称?

php - 使用 PHP、mysqli 和 mysqli_fetch_assoc 显示主题列表

php - 用PHP计算两个日期之间的工作时间

php - 为什么 `system`没有被PHP的这些混淆器隐藏

php - 正常的 MYSQL 不工作要求 PDO

php - PDO 期望显示所有结果,但只显示一个