Heim >Backend-Entwicklung >PHP-Problem >Lösung für das Problem, dass das PHP-System MSSQL nicht unterstützt
Lösung für das Problem, dass PHP MSSQL nicht unterstützt: 1. Laden Sie „SQLSRV20.EXE“ herunter. 2. Extrahieren Sie die Datei in den PHP-Erweiterungsordner ext. 4. Speichern Sie und starten Sie Apache neu.
Die Betriebsumgebung dieses Artikels: Windows7-System, PHP5.3-Version, DELL G3-Computer
Lösungen für das Problem, dass das PHP-System MSSQL nicht unterstützt, Lösungen für das Problem, dass PHP5.3 keine Verbindung herstellen kann zur MSSQL-Datenbank
Ein Beispiel in diesem Artikel Lösung für das Problem, dass PHP5.3 keine Verbindung zur MSSQL-Datenbank herstellen kann.
Die Analyse lautet wie folgt:
Seit PHP5.3 unterstützt das System die Verbindung mit der Funktion mssql_connect nicht. In der Vergangenheit habe ich auch gesagt, dass dies über die COM-Schnittstelle erreicht werden kann Das Problem, dass PHP5.3 keine Verbindung zur MSSQL-Datenbank herstellen kann.
Unter Windows-Systemen unterstützen Versionen über PHP5.3 die MSSQL-Erweiterung nicht mehr Klicken Sie auf .aspx, um es herunterzuladen, um SQLSRV20.EXE herunterzuladen.
Extrahieren Sie die Datei in den PHP-Erweiterungsordner ext, öffnen Sie php.ini und fügen Sie am Ende hinzu:
Der Code lautet wie folgt:
[PHP_PDO_SQLSRV] extension=php_pdo_sqlsrv_53_nts_vc6.dll [PHP_SQLSRV] extension=php_sqlsrv_53_nts_vc6.dll
Starten Sie Apache nach dem Speichern neu. Im Anhang finden Sie ein einfaches PHP-Verbindungsbeispiel. Der Code lautet wie folgt folgt:
Der Code lautet wie folgt:
<?php $serverName = "(127.0.0.1)"; $connectionInfo = array( "UID"=>"root", "PWD"=>"root2010", "Database"=>"master"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ) { echo "Connection established.n"; } else { echo "Connection could not be established.n"; die( print_r( sqlsrv_errors(), true)); } ?>
Ich verwende das integrierte Installationspaket wamp5.1 und habe es auf Windows Server 2008 getestet. Der Test auf PHP5.4 oder höher war nicht erfolgreich.
Wenn Sie diese Erweiterung verwenden Um eine Verbindung zu SQL Server 2005 oder höher (z. B. SQL Server 2008) herzustellen, müssen Sie außerdem zuerst SQL Server Native Client auf dem Computer installieren: http://download.microsoft.com/download/0/E/6/0E67502A -22B4-4C47-92D3-0D223F117190/sqlncli .msi
Diese Erweiterung fügt PHP eine Reihe von Funktionen hinzu, die mit sqlsrv_ beginnen. Die Funktionsreferenz lautet wie folgt:
Der Code lautet wie folgt:
sqlsrv_begin_transaction sqlsrv_cancel sqlsrv_client_info sqlsrv_close sqlsrv_commit sqlsrv_configure sqlsrv_connect sqlsrv_errors sqlsrv_execute sqlsrv_fetch sqlsrv_fetch_array sqlsrv_fetch_object sqlsrv_fetch_metadata sqlsrv_free_stmt sqlsrv_get_config sqlsrv_get_field sqlsrv_has_rows sqlsrv_next_result sqlsrv_num_fields sqlsrv_num_rows sqlsrv_prepare sqlsrv_query sqlsrv_rollback sqlsrv_rows_affected sqlsrv_send_stream_data sqlsrv_server_info
Für detailliertere Anweisungen: In der selbstextrahierenden Datei befindet sich gerade SQLServerDriverForPHP.chm. Sie können es in der Hilfedatei finden und auf den API-Referenzknoten klicken. Schauen Sie sich eine andere Odb-Verbindungsmethode an. Der Code lautet wie folgt wie folgt:
$dbhost = ''; $dbuser = ''; //你的mssql用户名 $dbpass = ''; //你的mssql密码 $dbname = ''; //你的mssql库名 $connect=odbc_connect("Driver={SQL Server};Server=$dbhost;Database=$dbname","$dbuser","$dbpass"); $sql="select * from content"; $exec=odbc_exec($connect,$sql); while($row = (odbc_fetch_array($exec))) { $row['id'] //?取字段值 … }
Empfohlenes Lernen: „
PHP-Video-Tutorial“
Zugehörige Einführung:
1 Microsoft-Treiber für PHP für SQL Server (derzeit gibt es 2.0- und 3.0-Versionen, die jeweils in ts- und nts-Versionen unterteilt sind. Sie können phpinfo() verwenden. Bestätigen Sie, dass Thread Safety:enable in ts ist. Weitere Informationen finden Sie im mitgelieferten Handbuch
2. Nachdem Sie den Treiber in den ext-Ordner des PHP-Ordners kopiert haben, ändern Sie die php.ini-Erweiterung extension=php_pdo_sqlsrv_53_ts_vc6.dll
3. Laden Sie den Microsoft SQL Server 2008 R2 Native Client-Installationscode herunter :
<?php try { $hostname = "192.168.1.100"; $dbname = "Northwind"; $username = "sa"; $pwd = "pwd100"; $dsn="sqlsrv:Server=$hostname;database=$dbname"; $conn = new PDO ($dsn,$username,$pwd); $conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); echo "mssql database connnection sucessed!"; } catch (PDOException $e) { echo "Failed to get DB handle: " . $e->getMessage() . "\n"; exit; } ?>
2. Unter Windows unterstützen PHP5.3 und höhere Versionen die MSSQL-Erweiterung nicht mehr. Wenn Sie also mit dem SQL-Server kommunizieren müssen, müssen Sie zu http://msdn.microsoft.com/en-us gehen /sqlserver/ff657782.aspxLaden Sie den von Microsoft bereitgestellten SQL Server-Treiber für PHP herunter. Dies ist eine selbstextrahierende Datei. Nach der Dekomprimierung erhalten Sie die folgenden Dateien:
php_sqlsrv_52_nts_vc6.dll php_sqlsrv_52_ts_vc6.dll php_sqlsrv_53_nts_vc6.dll php_sqlsrv_53_nts_vc9.dll php_sqlsrv_53_ts_vc6.dll php_sqlsrv_53_ts_vc9.dll php_sqlsrv_license.rtf SQLServerDriverForPHP.chm SQLServerDriverForPHP_Readme.htm
Darunter stellen 52 und 53 die Verwendung von Apache als Webserver dar, vc9 bedeutet die Verwendung von IIS als Webserver .
Kopieren Sie entsprechend Ihrer Konfiguration die entsprechende DLL-Datei in den ext-Ordner des PHP-Installationsverzeichnisses und fügen Sie die folgenden Anweisungen hinzu, um die Erweiterungen php_sqlsrv und php_pdo_sqlsrv zu öffnen:
——————— ——— ——————————–
[PHP_PDO_SQLSRV] extension=php_pdo_sqlsrv_53_ts_vc6.dll [PHP_SQLSRV] extension=php_sqlsrv_53_ts_vc6.dll
———————————————
Die 53 bedeutet hier PHP5.3. Wenn Ihre Version 5.2 ist, nur Wechseln Sie zu 52. Wenn Ihre PHP-Version threadsicher ist, sollte sich in Ihrem PHP-Installationsverzeichnis eine php5ts.dll befinden, die den beiden Anweisungszeilen hier entspricht. Wenn es sich um php5nts.dll handelt, sollte die obige Anweisung lauten:
——————————————————————
[PHP_PDO_SQLSRV] extension=php_pdo_sqlsrv_53_nts_vc6.dll [PHP_SQLSRV] extension=php_sqlsrv_53_nts_vc6.dll
—————————————————
Im Komprimierten Paket Sie können die DLL-Dateien für jede Version sorgfältig überprüfen.
Nachdem Sie die Erweiterung aktiviert haben, starten Sie Apache neu, damit Sie eine Verbindung zum SQL Server herstellen können. Es gibt jedoch noch etwas zu beachten: Wenn Sie Microsoft SQL Server 2008 R2 Native Client nicht installiert haben, müssen Sie zu http://msdn gehen. microsoft.com/en-us Laden Sie /library/cc296170(SQL.90).aspx herunter und installieren Sie es, da dieses Erweiterungspaket von Microsoft diese Unterstützung erfordert.
Sobald alles fertig ist, können Sie PHP-Code schreiben. Im entpackten Ordner finden Sie ein Hilfedokument. Hier finden Sie ein einfaches Beispiel:
<?php //本地测试的服务名 $serverName = “(127.0.0.1)”; //使用sql server身份验证,参数使用数组的形式,一次是用户名,密码,数据库名 //如果你使用的是windows身份验证,那么可以去掉用户名和密码 $connectionInfo = array( “UID”=>”root”, “PWD”=>”root2010″, “Database”=>”master”); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ) { echo “Connection established.\n”; } else { echo “Connection could not be established.\n”; die( print_r( sqlsrv_errors(), true)); } ?>
Wenn die Verbindung nicht erfolgreich ist, starten Sie den SQL-Server neu und versuchen Sie es erneut.
Das obige ist der detaillierte Inhalt vonLösung für das Problem, dass das PHP-System MSSQL nicht unterstützt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!