解决php5.3不能连接mssql数据库问题
自从php5.3之后系统就不支持mssql_connect这个函数连接了,以前我也讲可以使用com接口来实现,现在我再介绍解决php5.3不能连接mssql数据库另一方法.
windows系统下,PHP5.3以上的版本已经不支持mssql扩展.
首先http://msdn.microsoft测试数据/en-us/sqlserver/ff657782.aspx 点击 get it 下载SQLSRV20.EXE。
将文件解压到php的扩展文件夹ext下,打开php.ini在结尾添加:
[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 ); //开源代码phpfensi测试数据 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以上版本测试没有成功.
如果使用这个扩展连接Sql server 2005以上版本的sql server(如sql server 2008),你还需要在机器上先安装 SQL Server Native Client :http://download.microsoft测试数据/download/0/E/6/0E67502A-22B4-4C47-92D3-0D223F117190/sqlncli.msi
这个扩展为php新增了一系列sqlsrv_开头的函数,函数参考如下:
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更多详细的说明可以在刚才的自解压的文件中有个 SQLServerDriverForPHP.chm 帮助文件中可以找到打开后点击API Reference节点.
另外看一种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' ] //?取字段值 … }查看更多关于解决php5.3不能连接mssql数据库问题 - php高级应用的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30469