(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 1.0.3)
PDO::getAvailableDrivers -- pdo_drivers — Return an array of available PDO drivers
This function returns all currently available PDO drivers which can be used
in DSN parameter of
PDO::__construct() .
This function has no parameters.
PDO::getAvailableDrivers() returns an array of PDO driver names. If no drivers are available, it returns an empty array.
Example #1 A PDO::getAvailableDrivers() example
<?php
print_r(PDO::getAvailableDrivers());
?>The above example will output something similar to:
Array ( [0] => mysql [1] => sqlite )
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.");
}
?>