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()

PHPz
PHPzoriginal
2023-06-23 10:06:101381parcourir

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.

  1. Mettez à niveau vers PHP 7.0 ou supérieur et utilisez le pilote sqlsrv

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.

  1. Continuez à utiliser le pilote mssql dans PHP 7.0 ou supérieur

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn