Il existe en fait plusieurs modules prenant en charge MySQL (mysql, mysqli, pdo_mysql, ...). MySQLi (amélioré) est généralement recommandé pour une prise en charge plus complète des fonctionnalités de MySQL5 par rapport au module mysql d'origine. PDO (objets de données PHP) est une couche d'abstraction de base de données qui fournit une abstraction de données orientée objet.
Vous pouvez utiliser function_exists()
selon les commentaires précédents si vous souhaitez vérifier l'existence d'une fonction spécifique par module (mysql_connect, mysqli_connect, ...).
Alternativement, vous pouvez utiliser la fonction PHP extension_loaded()
pour vérifier l'extension elle-même (le nom du module correspond à la sortie de phpinfo() ):
<?php
if (extension_loaded('mysql') or extension_loaded('mysqli')) {
// Looking good
}
?>
À partir d'une invite de ligne de commande, vous pouvez lister tous les modules compilés avec :
php -m
Si vous êtes sur un système unix-ish, utilisez grep
pour filtrer la sortie vers les modules liés à MySQL :
php -m | grep -i mysql
Si vous êtes sous Windows, utilisez findstr
pour filtrer la sortie vers les modules liés à MySQL :
php -m | findstr -i mysql