php5.3.x连接sql server 2005 (php5.3连接mssql)



http://www.cnblogs.com/spring4/archive/2012/04/16/2483742.html


php5.3.x不再支持php_mssql.dll 拓展库了,及时使用php5.2.x中的php_mssql.dll 也无法使用。 

微软专门为PHP出了个SQL Server的扩展(Windows版本的),对于Windows下使用php开发SQL Server应用来说,这个扩展有利于利用SQL Server来开发php平台连接sql server数据库管理系统。

PHP5.2.x本身有个php_mssql.dll的扩展用来连接Sql server,但是貌似这个dll只是用来连接低版本 Sql server的(2000以下版本),在Sql server 2005及以上版本则根本无法使用mssql_connect连接到数据库。

先到微软网站下载 SQL Server Driver for PHP :http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx, 这是一个自解压的EXE文件,解压缩后你会得到这么几个文件: 


其中的52、53表示就是php的5.2.x和5.3.x 版本,选择跟你php版本相匹配的;
选择vc6或vc9的主要看你使用的是什么web服务器软件,如果使用的是IIS那就选择vc9的,如果是Apache则选择vc6的
至于ts和nts,就要看你安装的php版本是线程安全版的还是非线程安全版,ts是线程安全,nts是非线程安全
比如我的配置是IIS FastCgi + php-5.3.2-nts-Win32-VC9-x86,那么就应该选择php_sqlsrv_53_nts_vc9.dll 文件并把它放到php安装目录的ext目录下,并在php.ini中添加 extension=php_sqlsrv_53_nts_vc9.dll  
接下来重新启动IIS 并运行phpinfo.php,来查看phpinfo的配置信息,如果看到下图信息,则说明可添加成功,您的php5.3.x可以链接sql server了

 另外注意的是,如果使用这个扩展连接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_开头的函数,函数参考如下:
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节点
点击Example Application 节点可以看到php程序范例。
是不是很简单?跟平时用的mysql、mssql函数差不多的。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值