PDO::getAvailableDrivers

pdo_drivers

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

PDO::getAvailableDrivers -- pdo_drivers Retorna um array com os drivers PDO disponíveis

Descrição

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

Esta função retorna todos os drivers PDO disponíveis que podem ser usados no parâmetro DSN de PDO::__construct().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

PDO::getAvailableDrivers() retorna um array com os drivers PDO disponíveis. Se nenhum driver estiver disponível então o retorno será um array vazio.

Exemplos

Exemplo #1 Exemplo de PDO::getAvailableDrivers()

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

O exemplo acima produzirá algo semelhante a:

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

add a note add a note

User Contributed Notes 2 notes

up
5
iabdullah
9 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.");
    }
?>
up
-33
faruk at pamukbilisim dot com
10 years ago
/*
* Coder : PamukBilisim
* Date : 02/02/2014
*/
function getDriverList($ayrac = ",", $echo = true){

$ARR_DRIVERS = array();
$CountDrivers = 0;
foreach(PDO::getAvailableDrivers() AS $DRIVERS) :
     
    $CountDrivers++;
    $ARR_DRIVERS[$CountDrivers] = $DRIVERS;

endforeach;

$_GET_DRIVER_LIST = implode($ayrac, $ARR_DRIVERS);

if( $echo ): echo $_GET_DRIVER_LIST; else : return $_GET_DRIVER_LIST; endif;

}

Example :

echo "Kullanabileceğiniz pdo veritabanları : " . getDriverList(" , ", false);
To Top