International PHP Conference Berlin 2025

PDO::getAvailableDrivers

pdo_drivers

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 1.0.3)

PDO::getAvailableDrivers -- pdo_drivers 返回一个可用驱动的数组

说明

public static PDO::getAvailableDrivers(): array
pdo_drivers(): array

此方法返回所有当前可用在 PDO::__construct()DSN 参数中的 PDO 驱动。

参数

此函数没有参数。

返回值

PDO::getAvailableDrivers() 返回包含可用 PDO 驱动名字的数组。如果没有可用的驱动,则返回空数组。

示例

示例 #1 PDO::getAvailableDrivers() 示例

<?php
print_r
(PDO::getAvailableDrivers());
?>

以上示例的输出类似于:

Array
(
    [0] => mysql
    [1] => sqlite
)

添加备注

用户贡献的备注 1 note

up
8
iabdullah
10 years ago
Since the method is a static, one practice is using it to check whether a specific server database driver is available and configured correctly with PDO before establishing the connection:
<?php
try {
if (!
in_array("mysql",PDO::getAvailableDrivers(),TRUE))
{
throw new
PDOException ("Cannot work without a proper database setting up");
}
}
catch (
PDOException $pdoEx)
{
echo
"Database Error .. Details :<br /> {$pdoEx->getMessage()}";
}
?>

or to check for any driver in general:
<?php
if (empty(PDO::getAvailableDrivers()))
{
throw new
PDOException ("PDO does not support any driver.");
}
?>
To Top