Rumah > Artikel > pembangunan bahagian belakang > Penyelesaian kepada masalah bahawa sistem php tidak menyokong mssql
Penyelesaian kepada masalah yang php tidak menyokong mssql: 1. Muat turun "SQLSRV20.EXE" 2. Ekstrak fail ke folder sambungan php 3. Ubah suai fail php.ini; dan mulakan semula apache Itu sahaja.
Persekitaran pengendalian artikel ini: sistem Windows 7, versi php 5.3, komputer DELL G3
Penyelesaian kepada masalah yang sistem php tidak menyokong Kaedah mssql, penyelesaian kepada masalah yang php5.3 tidak dapat menyambung ke pangkalan data mssql
Artikel ini menerangkan penyelesaian kepada masalah yang php5.3 tidak dapat menyambung ke pangkalan data mssql .
Analisis adalah seperti berikut:
Sejak php5.3, sistem tidak menyokong fungsi mssql_connect Pada masa lalu, saya juga mengatakan bahawa ia boleh dilaksanakan menggunakan antara muka com Saya akan memperkenalkan penyelesaian kepada masalah yang php5.3 tidak boleh Cara lain untuk menyambung ke pangkalan data mssql.
Di bawah sistem Windows, versi di atas PHP5.3 tidak lagi menyokong sambungan mssql.
http pertama ://msdn.microsoft.com/en-us/ sqlserver/ff657782.aspx Klik dapatkannya untuk memuat turun SQLSRV20.EXE.
Ekstrak fail ke folder sambungan php ext, buka php.ini dan tambah pada penghujung:
Kod adalah seperti berikut:
[PHP_PDO_SQLSRV] extension=php_pdo_sqlsrv_53_nts_vc6.dll [PHP_SQLSRV] extension=php_sqlsrv_53_nts_vc6.dll
Simpan dan mulakan semula apache , lampirkan contoh sambungan PHP mudah, kodnya adalah seperti berikut:
Kod adalah seperti berikut:
<?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)); } ?>
Saya menggunakan pakej pemasangan bersepadu wamp5.1 dan diuji pada Windows Server 2008 , ujian untuk php5.4 atau ke atas tidak berjaya
Jika anda menggunakan sambungan ini untuk menyambung ke pelayan sql 2005 atau ke atas (seperti pelayan sql 2008), anda juga perlu memasang. SQL Server Native Client pada mesin dahulu: http ://download.microsoft.com/download/0/E/6/0E67502A-22B4-4C47-92D3-0D223F117190/sqlncli.msi
Pelanjutan ini menambah siri fungsi bermula dengan sqlsrv_ hingga PHP , rujukan fungsi adalah seperti berikut:
Kod adalah seperti berikut:
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
Arahan yang lebih terperinci boleh didapati dalam fail pengekstrakan sendiri hanya kini, terdapat SQLServerDriverForPHP.chm, anda boleh mencarinya dalam fail bantuan dan klik untuk membukanya nod Rujukan API.
Lihat kaedah sambungan odb yang lain, kodnya adalah seperti berikut:
Kodnya adalah seperti berikut:
$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'] //?取字段值 … }
Pembelajaran yang disyorkan: "Tutorial Video PHP》
Pengenalan berkaitan:
1. The langkah-langkah untuk php5.3 untuk berjaya menyambung ke MSSQL melalui PDO diringkaskan secara ringkas seperti berikut:
1. Muat turun pemacu microsoft untuk php untuk pelayan sql (pada masa ini terdapat versi 2.0 dan 3.0, yang dibahagikan kepada ts dan nts. versi masing-masing. Anda boleh mengesahkan bahawa ia adalah ts melalui Thread Safety:enable dalam phpinfo(). folder php, ubah suai sambungan sambungan php.ini=php_pdo_sqlsrv_53_ts_vc6.dll
3 Muat turun Microsoft SQL Server 2008 R2 Native Client dan pasangkannya
Kod ujian:
<?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. Di bawah sistem Windows, versi PHP5.3 dan ke atas tidak lagi menyokong sambungan mssql, jadi jika anda perlu berkomunikasi dengan pelayan sql, anda perlu pergi ke http://msdn.microsoft.com/en-us/sqlserver / ff657782.aspx Muat Turun Pemacu Pelayan SQL untuk PHP yang disediakan oleh Microsoft. Ini ialah fail yang mengekstrak sendiri Selepas penyahmampatan, anda akan mendapat fail berikut:
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.htmAntaranya, 52 dan 53 mewakili versi 5.2.X dan 5.3.X bagi PHP; linear dan selamat ts bermaksud keselamatan benang; vc6 bermaksud menggunakan Apache sebagai Pelayan Web, dan vc9 bermaksud menggunakan IIS sebagai Pelayan Web. Mengikut konfigurasi anda, salin fail DLL yang sepadan ke folder ext direktori pemasangan php Seterusnya, buka php.ini dan tambah pernyataan berikut untuk membuka sambungan php_sqlsrv dan php_pdo_sqlsrv:
— ————————————————————
————————————————[PHP_PDO_SQLSRV] extension=php_pdo_sqlsrv_53_ts_vc6.dll [PHP_SQLSRV] extension=php_sqlsrv_53_ts_vc6.dll
53 di sini bermaksud php5.3 Jika anda adalah versi 5.2, tukar kepada 52. Jika versi PHP anda selamat untuk thread, maka harus ada php5ts.dll dalam direktori pemasangan PHP anda, yang sama dengan kedua-duanya di sini, sepadan dengan pernyataan baris, jika ia adalah php5nts.dll, maka pernyataan di atas hendaklah:
——————————————————— ——-
——————————————————-[PHP_PDO_SQLSRV] extension=php_pdo_sqlsrv_53_nts_vc6.dll [PHP_SQLSRV] extension=php_sqlsrv_53_nts_vc6.dll
Terdapat fail dll untuk setiap versi dalam pakej termampat, anda boleh menyemaknya dengan teliti.
Selepas menghidupkan sambungan, mulakan semula apache supaya anda boleh menyambung ke sqlserver, tetapi ada satu lagi perkara yang perlu diperhatikan Jika anda belum memasang Microsoft SQL Server 2008 R2 Native Client, anda mesti pergi ke http: //msdn.microsoft.com Muat turun dan pasang /en-us/library/cc296170(SQL.90).aspx, kerana pakej sambungan daripada Microsoft ini memerlukan sokongan ini.
Setelah semuanya siap, anda boleh menulis kod PHP Jika anda memuat turun Pemacu Pelayan SQL untuk PHP, terdapat dokumen bantuan dalam folder yang dibuka. Anda boleh mencari contoh yang mudah contoh:
Jika sambungan tidak berjaya, mulakan semula pelayan sql dan cuba lagi.<?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)); } ?>
Atas ialah kandungan terperinci Penyelesaian kepada masalah bahawa sistem php tidak menyokong mssql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!