Maison >développement back-end >Problème PHP >Que faire s'il y a une erreur lors de la connexion de PHP à SQLserver
Solution à l'erreur lorsque php se connecte à sqlserver : 1. Ouvrez php.in et supprimez le symbole de commentaire de extension=php_mssql.dll ; 2. Recherchez le fichier ntwdblib.dll 3. Exécutez le gestionnaire de configuration de SQL Server et définissez le port ; .
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
Que dois-je faire s'il y a une erreur lors de la connexion de php à sqlserver ?
À propos du problème de php se connectant à sqlserver
Vous devez faire attention à l'utilisation de php pour vous connecter à sqlserver2000 Quelques points
1. Configurez php
a, ouvrez php.in et supprimez le symbole de commentaire extension=php_mssql.dll.
b. Ouvrez php.in. Si votre programme et votre base de données sont sur le même serveur, veuillez modifier mssql.secure_connection = Off sur on. S'ils sont sur deux serveurs, veuillez le modifier sur off. "sera signalé. ) des erreurs telles que "échec de la connexion".
c. Copiez php_mssql.dll dans le répertoire spécifié par extension_dir dans php.in ou dans le répertoire système system32. (php_mssql.dll est inclus dans le package d'installation compressé de php).
2. Faites attention au fichier ntwdblib.dll
a. Recherchez le fichier ntwdblib.dll dans le répertoire system32 du serveur sur lequel sqlserver2000 est installé, vérifiez sa version via les propriétés, puis utilisez-le comme standard pour le modifier. le fichier correspondant dans le répertoire php du serveur de programme. Écrasement de fichier.
b. Les fichiers correspondants sous apache2/bin doivent également être écrasés ! (Beaucoup de gens ne peuvent pas se connecter parce qu'ils n'ont pas remarqué cette étape, et moi aussi)
Après avoir terminé les étapes ci-dessus, vous devez redémarrer Apache.
Remarque : En utilisation réelle, il a été constaté que si vous installez manuellement php sur iis via un fichier php compressé, vous devez redémarrer la machine et pas seulement iis.
3. Configurez sqlserver
a. Exécutez le gestionnaire de configuration SQL Server : Gestionnaire de configuration SQL Server, ouvrez les protocoles
b Autoriser les canaux nommés "canaux nommés" et "tcp/ip"
c. ip", ouvrez l'onglet Propriétés "Adresses IP"
d. Remplissez 1433
e dans le port dynamique TCP "Ports dynamiques TCP". Redémarrez SQL Server
------------- -------------------------------------------------- --------------------------------
4. Utilisez la méthode suivante pour vous connecter à MS SQL Server 2005 :
Le code est le suivant :
<?php //链接数据库 $conn=mssql_connect('localhost','sa','123456'); mssql_select_db('gu_dde',$conn); //query语句 $Query="select * from dde_top"; $AdminResult=mssql_query($Query); //输出结果 $Num=mssql_num_rows($AdminResult); for($i=0;$i<$Num;$i++) { $Row=mssql_fetch_array($AdminResult); echo($Row[1]); echo("<br/>"); } ?>
Vous voyez que ces fonctions correspondent aux fonctions MySQL et sont très pratiques à utiliser !
------------------------------------------------ -----------------------
5.FAQ Questions fréquemment posées :
1 Erreur :
Erreur fatale : appel à une fonction non définie mssql_connect()
Solution :
Utilisez les fonctions de la série MSSQL_
Pour utiliser ces deux-là, vous devez les définir dans php.ini :
(1) Pour autoriser DCOM, vous devez définir les points avant ;com.allow_dcom=TRUE en php .ini Supprimez le numéro « ; ».
(2) Pour utiliser l'extension MSSQL, vous devez supprimer le point-virgule ";" avant ;extension=php_mssql.dll dans php.ini. (Clé)
(3) Confirmez que extension_dir est le chemin correct, prenez cette machine comme exemple : extension_dir = "c:AppServphp5ext".
(4) Si la machine signale toujours une erreur indiquant que c:AppServ php5extphp_mssql.dll est introuvable mais que ce fichier existe évidemment.
Solution : copiez php_mssql.dll, ntwdblib.dll dans le répertoire système system32 et redémarrez le test. .
(Remarque : les deux fichiers dll ci-dessus ne sont pas dans le même répertoire, le mien est c:AppServphp5ext php_mssql.dll; c:AppServphp5ntwdblib.dll)
Copiez également ntwdblib.dll dans le répertoire apache2/bin/ !
De plus, pensez à redémarrer le serveur après l'avoir configuré.
6. Autres questions :
Si php apache Sql Server2000 est sur la même machine, il n'y aura pratiquement aucun problème pour y accéder.
Si les machines SQL Server2000 et PHP sont séparées, vous devez confirmer que le nom de la machine sur laquelle se trouve le serveur sql peut être pingé. S'il ne peut pas être transmis, modifiez le fichier hosts sous le fichier system32driversetc de la machine sur laquelle se trouve le serveur. php se trouve et ajoutez une ligne de l'adresse IP de la machine sur laquelle se trouve le serveur sql. La machine sur laquelle se trouve le nom de la machine sqlserver.
Si vous ne parvenez toujours pas à y accéder, vous devez confirmer si la machine sur laquelle se trouve php a une conversion secrète en mdac. Que diriez-vous simplement d'installer le client sqlserver.
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!