您的位置:首页 > 编程语言 > PHP开发

配置PHP连接MSSQL

2009-11-30 11:58 337 查看
windows下面
要安装mssql或者,mssql客户端
安装以后检查在你的系统目录下面是不是有ntwdblib.dll文件,如果有请继续(一般安装了mssql都会有);
然后启动mssql数据库服务
1:在php.ini文件里设置如下,找到 ;extension=php_mssql.dll 把前面的分号去掉。

2:找到extension_dir = d:/extension/
你的php.ini里面可能不是d:/extension/
改成在php安装目录下面的extensions目录下面的php_mssql.dll,所在的路径,如果你没有把它移动到其他地方(假设你的php安装路径是d:/php)
就改成extension_dir=d:/php/extensions/  
 
3:把ntwdblib.dll拷贝到c:/winnt/system32目录下。  
  ntwdblib.dll的主要作用是提供sql server连接服务。
  我用的php版本是4.3.9,在安装它的服器的 windows/system32/ 下我查到ntwdblib.dll文件的版本是 2000.2.8.0 ,这个版本支持的是sql server 7.0, 因为安装PHP时会把dlls下面的所有文件覆盖到系统 目录下,所以当我用它去连接 sql server 2000 的时候当然会是无法连接了。
  后来我在一台正常安装sql server 2000 的服务器上查到 ntwdblib.dll的版本是 2000.80.2039.0,sql2000的ntdblib.dll文件拷贝过来覆盖到本机的 windows/system32下,重启服务器后,一切正常。
  补充:如果数据库名的开头是数字时也会提示无法打开,这时要做的很简单,把数据库的名字用中括号 [ ] 括起来就搞定了,如 123bBS 改写成 [123bBS]就没有问题了,另外如果你的数据库名字与 sql server中的保留字冲突的话也会出现这种情况,用中括号的方法一样可以解决。
  然后重新启动web服务器,假设你的mssql安装在本机上就可以用下面的测试 。
<?php
$con=mssql_connect(“localhost“,“user“,“password“);
echo “<br>连接成功“;
else
echo “连接失败“;
?>    
          
祝你好运
可以把localhost改成你安装mssql的机器名称
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: