Heim  >  Artikel  >  Backend-Entwicklung  >  So verbinden Sie PHP mit dem SQL-Server

So verbinden Sie PHP mit dem SQL-Server

高洛峰
高洛峰Original
2017-01-06 14:16:014082Durchsuche

Hinweis:
1: PHP5.2.x selbst hat eine Erweiterung von php_mssql.dll, um eine Verbindung zum SQL-Server herzustellen, aber diese DLL wird nur zum Herstellen einer Verbindung zu niedrigeren Versionen des SQL-Servers (Versionen unter 2000) verwendet SQL Server-Versionen 2005 und höher können mssql_connect nicht zum Herstellen einer Verbindung zur Datenbank verwenden.
2: php5.3.x unterstützt die Erweiterungsbibliothek php_mssql.dll nicht mehr und kann nicht verwendet werden, selbst wenn Sie php_mssql.dll in php5.2.x verwenden. Microsoft hat speziell für PHP eine SQL Server-Erweiterung (Windows-Version) entwickelt. Für die Entwicklung von SQL Server-Anwendungen mit PHP unter Windows ist diese Erweiterung förderlich für die Verwendung von SQL Server zur Entwicklung der PHP-Plattform für die Verbindung mit dem SQL Server-Datenbankverwaltungssystem.
1. Versionen unter php5.3 stellen eine Verbindung zum SQL-Server her
Die Erweiterung von Versionen unter 5.3 wird mit einer php_mssql.dll geliefert; um eine Verbindung zur Datenbank herzustellen, können Sie diese Erweiterung verwenden, um eine Verbindung zur Datenbank herzustellen (beschränkt auf). Verknüpfung zu Datenbanken niedrigerer Versionen).
Die spezifischen Schritte sind wie folgt:
1: Installieren Sie zuerst den SQL-Server, der sehr schwierig zu installieren ist. Ich habe zuvor die Version 2008 installiert und kann nach Ablauf von Windows nicht mehr verwendet werden Die Installation ist immer noch fehlgeschlagen. Schließlich habe ich das System vor der Installation neu installiert die mssql-Erweiterung (vor extension=php_pdo_mssql.dll Entfernen Sie das Semikolon) und müssen mssql.secure_connection = On setzen, damit es nach dem Neustart wirksam wird.
Wenn es reibungslos funktioniert, können Sie bereits eine Verbindung zur Datenbank herstellen. Wenn Sie keine Verbindung herstellen können, müssen Sie mit der Low-Level-Konfiguration fortfahren:
3: Überprüfen Sie die Version der ntwdblib-Datei (php/unten und Apache/). unten) und laden Sie die richtige Version von ntwdblib herunter. dll (2000.80.194.0) überschreibt die vorhandene DLL-Datei (Sie können auch ntwdblib.dll und php_mssql.dll in das System32-Verzeichnis kopieren). ntwdblib.dll ist die Treiberdatei, die PHP zum Herstellen einer Verbindung verwendet auf MSSQL2005 oder 2008.
4: Verbindung testen: mssql_connect('localhost,1433', 'username', 'password');
2. php5.3+ stellt eine Verbindung zum SQL-Server her
Tatsächlich gibt es nur sehr wenige PHP-Versionen unter 5.3 Es wird verwendet und die Sicherheit und Kompatibilität sind nicht gut, sodass höhere Versionen von PHP immer noch relativ häufig sind. Die Praxis hat gezeigt, dass die Erfolgsquote bei der Verbindung zur Datenbank mit niedrigeren PHP-Versionen relativ gering ist (Versionen über 2005 können kaum verwendet werden). Es wird empfohlen, PHP5.3+ zu verwenden und die spezielle Erweiterung SQLSRV von Microsoft für die Verbindung zu verwenden SQLServer-Datenbank
Die Schritte sind wie folgt:
1: Gehen Sie zunächst auf die Microsoft-Website, um den SQL Server-Treiber für PHP herunterzuladen. Nach der Dekomprimierung erhalten Sie diese Dateien:

php如何连接sql server

, wobei 52 und 53 für die 5.2.x- und 5.3.x-Versionen von PHP stehen. Wählen Sie die Version aus, die Ihrer PHP-Version entspricht Wenn Sie IIS verwenden, wählt Apache vc6. Die Wahl von ts und nts hängt davon ab, ob die von Ihnen installierte PHP-Version threadsicher ist -safe und nts ist nicht threadsicher.

Wenn Sie es nicht wissen, können Sie das Zend Extension Build-Attribut in phpinfo wie unten gezeigt sehen:

php如何连接sql server

2: Kopieren Sie die Erweiterung in das PHP /ext-Verzeichnis, fügen Sie in der php.ini-Datei den folgenden Code hinzu:

extension=pdo extension under ext (für pdo)
extension=extension under ext
3: Starten Sie den Server neu und öffnen Sie phpinfo() ; Die Anzeige des folgenden Status beweist, dass die Erweiterung erfolgreich hinzugefügt wurde,

php如何连接sql server

4: Verbindungstest:

<?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);
?>
Beachten Sie, dass die Verbindung hier nicht mssql_connect ist Aber sqlsrv_connect gibt es in dieser Version mehrere Funktionen:

Diese Erweiterung fügt PHP eine Reihe von Funktionen hinzu, die mit sqlsrv_ beginnen. Die am häufigsten verwendeten sind wie folgt:

sqlsrv_connect

sqlsrv_close
sqlsrv_commit
sqlsrv_errors
sqlsrv_fetch
sqlsrv_fetch_array
sqlsrv_fetch_metadata
sqlsrv_num_rows
sqlsrv_query
sqlsr v_rollback
sqlsrv_rows_betroffen
.
Beachten Sie dies auch, wenn Sie dies verwenden Erweiterte Verbindung SQL Server 2005 und höhere Versionen von SQL Server (z. B. SQL Server 2008), Sie müssen außerdem zuerst SQL Server Native Client auf dem Computer installieren
Andernfalls wird die folgende Fehlermeldung angezeigt:

array
0 =>array
0 =>string'IMSSP'(length=5)
'SQLSTATE' =>string'IMSSP'(length=5)
1 => int-49
'code' =>int-49
2 =>string'Diese Erweiterung erfordert den Microsoft SQL Server 2012 Native Client. Greifen Sie auf die folgende URL zu, um den Microsoft SQL Server 2012 Native Client ODBC-Treiber herunterzuladen für x86: http://go.microsoft.com/fwlink/?LinkId=163712'(length=216)
'message' =>string'Diese Erweiterung erfordert den Microsoft SQL Server 2008 Native Client. Greifen Sie auf die folgende URL zu um den Microsoft SQL Server 2008 Native Client ODBC-Treiber für x86 herunterzuladen: http://go.microsoft.com/fwlink/?LinkId=163712'(length=216)
1 =>array
0 => ;string'IM002'(length=5)
'SQLSTATE' =>string'IM002'(length=5)
1 =>int0
'code' =>int0
2 =>string'[Microsoft][ODBC Driver Manager] Datenquellenname nicht gefunden und kein Standardtreiber angegeben'(length=71)
'message' =>string'[Microsoft] [ODBC Driver Manager] Datenquelle Name nicht gefunden und Standardtreiber nicht angegeben '(length=71)

Lösung: Der SQL Server 2008 Native Client ODBC-Treiber muss installiert werden. Laden Sie die Installationsdatei sqlncli.msi herunter Es.

Das Obige beschreibt, wie man PHP mit dem SQL-Server verbindet. Ich hoffe, es wird allen helfen, ähnliche Probleme zu lösen.

Weitere Artikel zum Verbinden von PHP mit einem SQL-Server finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn