如何用php连接mssql数据库服务器
如何用php连接mssql数据库服务器php有自带的函数,
$dblink=mssql_connect($hostname,$username,$userpassword)
$dbname=mssql_select_db($userdb) or die(mysql_error());
---------------------------------------------------------------
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 改写成 就没有问题了,另外如果你的数据库名字与sql server中的保留字冲突的话也会出现这种情况,用中括号的方法一样可以解决。
然后重新启动web服务器,假设你的mssql安装在本机上就可以用下面的测试 。
<?php
$con=mssql_connect("localhost","user","password");
echo "<br>连接成功";
else
echo "连接失败";
?>
祝你好运
可以把localhost改成你安装mssql的机器名称 。
页:
[1]