好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

解决php5.3不能连接mssql数据库问题 - php高级应用

解决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高级应用的详细内容...

  阅读:52次