当前位置:首页 > PHP教程 > php高级应用 > 列表

解决php5.3不能连接mssql数据库问题

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-10 14:41:09 浏览: 评论:0 

自从php5.3之后系统就不支持mssql_connect这个函数连接了,以前我也讲可以使用com接口来实现,现在我再介绍解决php5.3不能连接mssql数据库另一方法.

windows系统下,PHP5.3以上的版本已经不支持mssql扩展.

首先http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx 点击 get it 下载SQLSRV20.EXE。

将文件解压到php的扩展文件夹ext下,打开php.ini在结尾添加:

  1. [PHP_PDO_SQLSRV] 
  2. extension=php_pdo_sqlsrv_53_nts_vc6.dll 
  3. [PHP_SQLSRV] 
  4. extension=php_sqlsrv_53_nts_vc6.dll 

保存后重启apache即可,附上简单的php连接的例子,代码如下:

  1. <?php 
  2. $serverName = “(127.0.0.1)"; 
  3. $connectionInfo = array( “UID"=>"root", 
  4. “PWD"=>"root2010", 
  5. “Database"=>"master"); 
  6.  
  7. $conn = sqlsrv_connect( $serverName$connectionInfo); 
  8. //开源代码phpfensi.com 
  9. if$conn ) 
  10. echo “Connection established.n"; 
  11. else 
  12. echo “Connection could not be established.n"; 
  13. die( print_r( sqlsrv_errors(), true)); 
  14. ?> 

我使用的是wamp5.1集成安装包,在windows server 2008上面做的测试,php5.4以上版本测试没有成功.

如果使用这个扩展连接Sql server 2005以上版本的sql server(如sql server 2008),你还需要在机器上先安装 SQL Server Native Client :http://download.microsoft.com/download/0/E/6/0E67502A-22B4-4C47-92D3-0D223F117190/sqlncli.msi 

这个扩展为php新增了一系列sqlsrv_开头的函数,函数参考如下:

  1. sqlsrv_begin_transaction 
  2. sqlsrv_cancel 
  3. sqlsrv_client_info 
  4. sqlsrv_close 
  5. sqlsrv_commit 
  6. sqlsrv_configure 
  7. sqlsrv_connect 
  8. sqlsrv_errors 
  9. sqlsrv_execute 
  10. sqlsrv_fetch 
  11. sqlsrv_fetch_array 
  12. sqlsrv_fetch_object 
  13. sqlsrv_fetch_metadata 
  14. sqlsrv_free_stmt 
  15. sqlsrv_get_config 
  16. sqlsrv_get_field 
  17. sqlsrv_has_rows 
  18. sqlsrv_next_result 
  19. sqlsrv_num_fields 
  20. sqlsrv_num_rows 
  21. sqlsrv_prepare 
  22. sqlsrv_query 
  23. sqlsrv_rollback 
  24. sqlsrv_rows_affected 
  25. sqlsrv_send_stream_data 
  26. sqlsrv_server_info 

更多详细的说明可以在刚才的自解压的文件中有个 SQLServerDriverForPHP.chm 帮助文件中可以找到打开后点击API Reference节点.

另外看一种odb连接方式,代码如下:

  1. $dbhost = ”; 
  2. $dbuser = ”; //你的mssql用户名 
  3. $dbpass = ”; //你的mssql密码 
  4. $dbname = ”; //你的mssql库名 
  5. $connect=odbc_connect(“Driver={SQL Server};Server=$dbhost;Database=$dbname”,”$dbuser”,”$dbpass”); 
  6. $sql=”select * from content”; 
  7. $exec=odbc_exec($connect,$sql); 
  8. while($row = (odbc_fetch_array($exec))) 
  9. $row['id']   //?取字段值 
  10. … 
  11. }

Tags: php5 3连接mssql php不能连接

分享到: