Maison >développement back-end >tutoriel php >Comment connecter PHP au serveur SQL
Remarque :
1 : PHP5.2.x lui-même possède une extension de php_mssql.dll pour se connecter au serveur SQL, mais cette dll n'est utilisée que pour se connecter aux versions inférieures du serveur SQL (versions inférieures à 2000 In). Les versions 2005 et supérieures du serveur SQL ne peuvent pas utiliser mssql_connect pour se connecter à la base de données.
2 : php5.3.x ne prend plus en charge la bibliothèque d'extensions php_mssql.dll, et elle ne peut pas être utilisée même si vous utilisez php_mssql.dll dans php5.2.x. Microsoft a spécialement développé une extension SQL Server (version Windows) pour PHP Pour développer des applications SQL Server utilisant PHP sous Windows, cette extension est propice à l'utilisation de SQL Server pour développer la plateforme PHP pour se connecter au système de gestion de base de données SQL Server.
1. Les versions inférieures à php5.3 se connectent au serveur SQL
La version inférieure à 5.3 est livrée avec une extension php_mssql.dll pour vous connecter à l'extension de base de données, vous pouvez utiliser cette extension pour vous connecter à la base de données (limitée à la liaison ; aux bases de données de version inférieure) .
Les étapes spécifiques sont les suivantes :
1 : Installez d'abord le serveur SQL, qui est super difficile à installer. J'ai déjà installé la version 2008, et elle ne peut plus être utilisée après l'expiration de Windows. Ensuite, je l'ai réinstallée et. l'installation n'a toujours pas réussi. Enfin, je l'ai réinstallé. Installez le système avant d'installer
2 : Assurez-vous que SQL est installé en mode d'authentification mixte ou en mode de vérification SQL, puis ouvrez le fichier de configuration php (php.ini) et activez. l'extension mssql (devant extension=php_pdo_mssql.dll Supprimez le point-virgule) et devez définir mssql.secure_connection = On pour prendre effet après le redémarrage.
Si tout se passe bien, vous pouvez déjà vous connecter à la base de données. Si vous n'arrivez pas à vous connecter, vous devez continuer la configuration de bas niveau :
3 : Vérifiez la version du fichier ntwdblib (php/below et Apache/). ci-dessous) et téléchargez la version correcte de ntwdblib.dll (2000.80.194.0) écrase le fichier DLL existant (vous pouvez également copier ntwdblib.dll et php_mssql.dll dans le répertoire system32) ntwdblib.dll est le fichier pilote utilisé pour que PHP se connecte à MSSQL2005 ou 2008.
4 : Test de connexion : mssql_connect('localhost,1433', 'username', 'password');
2. Connectez le serveur SQL avec php5.3
En fait, les versions de php inférieures à 5.3 sont rarement utilisées plus, et la sécurité et la compatibilité ne sont pas bonnes, donc les versions supérieures de PHP sont encore relativement courantes. La pratique a prouvé que les versions basses de PHP ont un faible taux de réussite lors de la connexion à la base de données (les versions supérieures à 2005 sont quasiment inutilisables) pour utiliser PHP5.3 PHP pour utiliser l'extension spéciale SQLSRV de Microsoft pour se connecter à la base de données SQLServer Les étapes sont les suivantes :
1 : Allez d'abord sur le site Web de Microsoft pour télécharger le pilote SQL Server pour PHP. Il s'agit d'un fichier EXE auto-extractible. Après décompression, vous obtiendrez plusieurs fichiers :
, où 52 et 53 signifient Pour les versions 5.2.x et 5.3.x de php, choisissez celle qui correspond à votre version de php le choix de vc6 ou vc9 dépend du logiciel du serveur web ; vous utilisez. Si vous utilisez IIS, choisissez vc9. S'il s'agit d'Apache, choisissez ensuite vc6. Le choix de ts et nts dépend du fait que la version de PHP que vous avez installée est thread-safe ou non. safe et nts n'est pas thread-safe.
Si vous ne le savez pas, vous pouvez voir l'attribut Zend Extension Build dans phpinfo comme indiqué ci-dessous :2 : Copiez l'extension dans le fichier php. /ext répertoire , dans le fichier php.ini, ajoutez le code suivant :
extension=pdo extension sous ext (pour pdo)extension=extension sous ext
3 : Redémarrez le serveur et ouvrez phpinfo() ; Voir l'état suivant prouve que l'extension a été ajoutée avec succès,
4 : Test de connexion :
Notez que la connexion ici n'est pas mssql_connect mais sqlsrv_connect , dans cette version, il y a plusieurs fonctions :<?php $serverName = "(local)"; $connectionInfo = array("UID"=>"sa","PWD"=>"admin","Database"=>"db_online"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ){ echo "Connection established.\n"; }else{ echo "Connection could not be established.\n"; die( var_dump(sqlsrv_errors())); } sqlsrv_close( $conn); ?>Cette extension ajoute une série de fonctions commençant par sqlsrv_ à PHP Les plus couramment utilisées sont les suivantes :
sqlsrv_connect
. sqlsrv_commit
sqlsrv_errors
sqlsrv_fetch
sqlsrv_fetch_array
sqlsrv_fetch_metadata
sqlsrv_num_rows
sqlsrv_query
sqlsrv_rollback
sqlsrv_rows_ affecté
. .
Notez également que si vous l'utilisez. connexion étendue SQL Server 2005 et versions supérieures de SQL Server (telles que SQL Server 2008), vous devez également d'abord installer SQL Server Native Client sur la machine
Sinon, l'erreur suivante se produira :
array
0 =>array
0 =>string'IMSSP'(length=5)
'SQLSTATE' =>string'IMSSP'(length=5)
1 => int-49
'code' =>int-49
2 =>string'Cette extension nécessite Microsoft SQL Server 2012 Native Client. Accédez à l'URL suivante pour télécharger le pilote ODBC Microsoft SQL Server 2012 Native Client. pour x86 : http://go.microsoft.com/fwlink/?LinkId=163712'(length=216)
'message' =>string'Cette extension nécessite Microsoft SQL Server 2008 Native Client. Accédez à l'URL suivante. pour télécharger le pilote ODBC Microsoft SQL Server 2008 Native Client pour x86 : http://go.microsoft.com/fwlink/?LinkId=163712'(length=216)
1 =>array
0 => ;string'IM002'(longueur=5)
'SQLSTATE' =>string'IM002'(longueur=5)
1 =>int0
'code' =>int0
2 =>string'[Microsoft][ODBC Driver Manager] Nom de la source de données introuvable et aucun pilote par défaut spécifié'(length=71)
'message' =>string'[Microsoft] [ODBC Driver Manager] Source de données nom introuvable et pilote par défaut non spécifié '(length=71)
.
Solution : le pilote ODBC SQL Server 2008 Native Client doit être installé, téléchargez le fichier d'installation sqlncli.msi et installez-le. il.
Ce qui précède explique comment connecter PHP au serveur SQL. J'espère que cela sera utile à tout le monde pour résoudre des problèmes similaires.
Pour plus d'articles sur la façon de connecter PHP au serveur SQL, veuillez faire attention au site Web PHP chinois !