Maison > Article > développement back-end > Solution à l'erreur fatale PHP : appel à la fonction non définie mssql_connect()
Solution à l'erreur fatale PHP : appel à la fonction non définie mssql_connect()
Si vous êtes un développeur PHP, vous avez peut-être déjà rencontré cette erreur. Cela se produit généralement lorsque vous essayez de vous connecter à une base de données Microsoft SQL Server. Dans cet article, nous explorerons les causes et les solutions à ce problème.
Raison
Avant la version PHP 7.0, le pilote de base de données utilisé par PHP était le pilote Microsoft SQL Server (mssql). Cependant, depuis la version PHP 7.0, ce pilote a été supprimé. PHP utilise désormais le pilote officiel de Microsoft (sqlsrv).
Si votre version de PHP est 7.0 ou supérieure et que vous utilisez toujours la fonction mssql_connect() dans votre code, vous rencontrerez cette erreur.
Solution
Il existe deux solutions pour résoudre ce problème.
Si vous utilisez le pilote mssql dans une version antérieure à PHP 7.0, vous devez passer à PHP 7.0 ou supérieur et utiliser le pilote officiel de Microsoft (sqlsrv). Vous pouvez suivre les étapes ci-dessous pour installer et activer le pilote sqlsrv.
Étape 1 : Téléchargez le pilote Microsoft SQL Server
Vous pouvez télécharger la dernière version du pilote Microsoft SQL Server à partir du site officiel de Microsoft.
Étape 2 : Activer l'extension SQLSRV
Une fois le téléchargement terminé, vous devez activer l'extension SQLSRV dans le fichier de configuration PHP. Ouvrez le fichier php.ini et ajoutez le code suivant dans la section d'extension dynamique :
extension=php_pdo_sqlsrv_7_ts.dll
extension=php_sqlsrv_7_ts.dll
Ici, nous utilisons la version PHP 7.x du fichier d'extension. Si vous utilisez une autre version de PHP, vous devez sélectionner le fichier d'extension correspondant en fonction de votre version de PHP.
Étape 3 : Redémarrez le serveur Web
Après avoir terminé toutes les configurations, vous devez redémarrer votre serveur Web pour vous assurer que toutes les modifications prennent effet.
Maintenant, vous pouvez utiliser la fonction sqlsrv_connect() pour vous connecter à votre base de données Microsoft SQL Server.
Si vous ne parvenez pas à mettre à niveau vers PHP 7.0 ou supérieur et devez continuer à utiliser le pilote mssql, vous pouvez suivre les étapes ci-dessous pour résoudre le problème.
Étape 1 : Téléchargez le pilote Microsoft SQL Server
Vous devez télécharger le pilote Microsoft SQL Server, mais cette fois, vous devez télécharger l'ancienne version (version 3.0).
Étape 2 : Activer le pilote MSDASQL
MSDASQL est un pilote ODBC qui peut mapper les sources de données OLE DB aux sources de données ODBC. Vous devez activer le pilote MSDASQL et configurer votre source de données SQL Server en tant que fournisseur OLE DB.
Étape 3 : Configurez le fichier php.ini
Ouvrez le fichier php.ini et ajoutez le code suivant dans la section d'extension dynamique :
extension=php_pdo_odbc.dll
extension=php_odbc.dll
Étape 4 : Redémarrez le serveur Web
Après avoir terminé toutes les configurations, vous devez redémarrer votre serveur Web pour vous assurer que toutes les modifications prennent effet.
Maintenant, vous pouvez utiliser la fonction mssql_connect() pour vous connecter à votre base de données Microsoft SQL Server.
Conclusion
Peu importe la méthode que vous choisissez, vous pouvez corriger cette erreur. Si vous pouvez passer à PHP 7.0 ou supérieur et utiliser le pilote officiel Microsoft SQL Server (sqlsrv), ce serait la meilleure option. Mais si vous ne pouvez pas mettre à niveau la version, vous pouvez également vous connecter en utilisant une ancienne version du pilote Microsoft SQL Server (mssql). Dans tous les cas, vous devez suivre attentivement et patiemment les étapes ci-dessus pour résoudre ce problème.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!