自從php5.3之后系統(tǒng)就不支持mssql_connect這個函數(shù)連接了,以前我也講可以使用com接口來實現(xiàn),現(xiàn)在我再介紹解決php5.3不能連接mssql數(shù)據(jù)庫另一方法.
windows系統(tǒng)下,PHP5.3以上的版本已經(jīng)不支持mssql擴(kuò)展.
首先http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx 點擊 get it 下載SQLSRV20.EXE。
將文件解壓到php的擴(kuò)展文件夾ext下,打開php.ini在結(jié)尾添加:
- [PHP_PDO_SQLSRV]
- extension=php_pdo_sqlsrv_53_nts_vc6.dll
- [PHP_SQLSRV]
- extension=php_sqlsrv_53_nts_vc6.dll
保存后重啟apache即可,附上簡單的php連接的例子,代碼如下:
- <?php
- $serverName = “(127.0.0.1)";
- $connectionInfo = array( “UID"=>"root",
- “PWD"=>"root2010",
- “Database"=>"master");
- $conn = sqlsrv_connect( $serverName, $connectionInfo);
- //開源代碼Vevb.com
- if( $conn )
- {
- echo “Connection established.n";
- }
- else
- {
- echo “Connection could not be established.n";
- die( print_r( sqlsrv_errors(), true));
- }
- ?>
我使用的是wamp5.1集成安裝包,在windows server 2008上面做的測試,php5.4以上版本測試沒有成功.
如果使用這個擴(kuò)展連接Sql server 2005以上版本的sql server(如sql server 2008),你還需要在機(jī)器上先安裝 SQL Server Native Client :http://download.microsoft.com/download/0/E/6/0E67502A-22B4-4C47-92D3-0D223F117190/sqlncli.msi
這個擴(kuò)展為php新增了一系列sqlsrv_開頭的函數(shù),函數(shù)參考如下:
- 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
更多詳細(xì)的說明可以在剛才的自解壓的文件中有個 SQLServerDriverForPHP.chm 幫助文件中可以找到打開后點擊API Reference節(jié)點.
另外看一種odb連接方式,代碼如下:
- $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'] //?取字段值
- …
- }
新聞熱點
疑難解答