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:
Wenn Sie es nicht wissen, können Sie das Zend Extension Build-Attribut in phpinfo wie unten gezeigt sehen:
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 $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); ?>
Diese Erweiterung fügt PHP eine Reihe von Funktionen hinzu, die mit sqlsrv_ beginnen. Die am häufigsten verwendeten sind wie folgt:
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)