php连接mssql

环境:apache2, php5, sql server 2008 express


第一步、配置php.ini

确认php\ext中有mssql的模块;去掉extension=php_mssql.dll前的分号。


第二步、安装正确的ntwdblib.dll

这一步很关键!

ntwdblib.dll 版本为 2000.2.8.0 是 对应 SqlServer2000(这个是网络查资料和猜测,没装2000)
ntwdblib.dll 版本为 2000.80.194.0 是 对应 SqlServer2005(这个是网络查资料和猜测,没装2000)
ntwdblib.dll 版本为 2000.80.2039 是 对应 SqlServer2008(这个是我验证的,最后的最后,问题原来出在这里!)

把正确版本的ntwdblib.dll分别放在C:\Windows\System32\,apache\bin\,和php\的安装目录下


第三步、配置正确sql server运行环境(编的名称。。)

1. 运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开SQL Native Client 10.0配置下的客户端协议 
2. 允许命名管道 "named pipes" 和 "tcp/ip" 
3. 右键点击 "tcp/ip",打开属性
4. 在默认端口填入 1433 

第四步、改变sql server 2008 express的身份验证方式

这个就是我在上一篇里拼命装sql server管理器的原因。但最后还是没能装上,采用了下面的方法(http://www.cnblogs.com/greening/archive/2006/11/15/560899.html):

安装完VS20xx,同时内含安装了SQL Server 20xx Express版,安装完成后SQL Server的默认身份验证方式为仅Windows 身份验证模式。由于Express版没有SQL Server Management Studio ,不能很方便的更改身份验证模式,所以结合MSDE2000更改身份验证模式的方法,研究出以下方法来更改已安装的SQL Server 20xx Express版身份验证方式。
1. 启用 混合模式(Windows 身份验证和 SQL Server 身份验证)
    方法:打开注册表编辑器(Windows+R,输入regedit),找到 Software\Microsoft\Microsoft SQL Server\MSSQL1??? (查找LocalMode即可)
                             
这个是该实例的注册表根目录。查看方法:用SQL Server Configuration Manager工具查看SQL Server 2005服务,
                              选中服务实例,右键属性->高级->看"注册表根目录的值",就是它了。

                修改MSSQLServer\LoginMode的值为2 , 原值为1
                关闭注册表编辑器,重启SQLServerExpress实例的服务

2. 启用sa用户,并修改sa的口令
    方法:运行SQLCMD命令行工具:\sqlcmd -S .\sqlexpress 
    EXEC sp_password NULL, 'SA的口令', 'sa'
    ALTER LOGIN sa ENABLE
    GO

第五步、重启apache, sql server(express)

php连接数据库的语句:

 <?php 
$conn=mssql_connect('.\sqlexpress','Username','Password');
if($conn)
	echo "Success";
else
	echo "Fail";
 ?>



参考了很多前辈的资料,就不一一列举了。。。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值