PHP5连接MSSQL的方法

news/2024/10/31 9:30:27/

使用以下方式连接MS SQL Server 2005:
mssql_connect('localhost,1433 ', USERNAME, PASSWORD);

 

为了php连接sql2005 ,我在网络上找了一大堆资料在我的csdn博客中.晚上3:05分时候终于搞定了

php连接sql2005的问题,现在整合,同时把FAQ整合上.

我前面写的教程:

连接前配置系统:

1.检查文件 php\ntwdblib.dll 默认下面有一个,将php目录下边的ntwdblib.dll 复制到系统windows 目录,不能连接再替换.

2.配置php

a、打开php.in将extension=php_mssql.dll的注释符号去掉。

image

b、打开php.in将mssql.secure_connection = Off改为on。

image

以上步骤完成后需要重启apache。

注意:实际使用中发现 如果通过php压缩文件手工安装php到iis下,必须重启机器而不仅仅是iis。

3.配置sqlserver 
a. 运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议 Protocols 
b. 允许命名管道 "named pipes" 和 "tcp/ip" 
c. 右键点击 "tcp/ip",打开属性 Properties 标签 "IP addresses" 
d. 在 TCP 动态端口 "TCP Dynamic Ports" 填入1433 
e. 重启 SQL Server

-----------------------------------------------------------------------------------------------  
4.使用以下方式连接MS SQL Server 2005:

Java代码   收藏代码
  1. <?php  
  2. $link=mssql_connect('localhost','sa','123456');  
  3. if(!$link) echo "Error !";  
  4. else echo "Ok!";  
  5. mssql_close();               
  6. ?>  

输入http://127.0.0.1


5.FAQ常见问题:

1报错:

Fatal error : Call to undefined function mssql_connect()

解决:

使用MSSQL_系列函数 
要使用这两种都需要在php.ini进行设定:  
   (1)允许 DCOM,需要将php.ini中的 ;com.allow_dcom=TRUE前的分号";"去掉。 
   (2)使用MSSQL扩展,需要php.ini中的 ;extension=php_mssql.dll前的分号";"去掉。(关键)  
   (3)确认extension_dir为正确路径,以本机为例:extension_dir = "c:\AppServ5.2.6\php\ext"。  
   (4)如果仍然机器报错说找不到c:\AppServ5.2.6\php\ext\php_mssql.dll但明明存在这个文件。 
   解决方法:将php_mssql.dll,ntwdblib.dll拷贝到系统目录\system32下重启测试。。 
    (注:上面两个dll文件不在相同目录下,我的为c:\AppServ5.2.6\php\ext\php_mssql.dll;c:\AppServ5.2.6\php\ntwdblib.dll) 
    另外设置好了后记得重启服务器哦。

2.mssql_connect() Unable to connect to server

确认SQLServer2005服务器正常.检查 TCP/IP已经启用

image

同时右键查看属性:

image

已经启用是否选择是

确认服务器正确之后,再确认ntwdblib.dll 文件位置是否放到了 c:\windows下,同时要保证ntwdblib.dll 这个文件的版本和sqlserver的版本对应 :

下面是对应关系:

2.ntwdblib.dll 版本为 2000.2.8.0 是 对应 SqlServer2000(这个是网络查资料和猜测,没装2000)

2.ntwdblib.dll 版本为 2000.80.194.0 是 对应 SqlServer2005(这个是用实验证明可以用,本人就是用笔记本装了2005)

3.ntwdblib.dll 版本为 2000.80.2039 是 对应 SqlServer2008(这个是猜测没有装2008)

 

6.其他问题:

如果php apache Sql Server2000都在同一台机器上,访问基本没有问题了。

如 果Sql Server2000和php机器是分离的,需要确认ping sqlserver所在机器的机器名能通,如过不通,修改php所在机器的\system32\drivers\etc下的hosts文件,增加一行 sqlserver所在机器的机器ip   sqlserver所在机器的机器名字。

如果还是无法访问,需要确认php所在的机器有无暗转mdac。要不索性安装一下sqlserver的客户端好了。

解决问题如下:

1.下载两个文件 php_mssql.dll 和 ntwdblib.dll

php_mssql.dll 如果这个没有复制到c:\windows下,就很容易出现

 

ntwdblib2093.dll 这个文件要注意版本,不然后面搞得很郁闷.


http://www.ppmy.cn/news/354487.html

相关文章

PHP连接MSSQL配置和PHP代码演示

如果实现了PHP和MySQL链接了&#xff0c;PHP和MSSQL的链接其实很简单&#xff1b; 支持MSSQL的本地链接和远程链接&#xff0c;以本地链接为例&#xff1a; 机器上安装了MS SQLServer 2005&#xff1b; 连接前配置系统: 1.检查文件 php5.2.5/ntwdblib.dll 默认下面有一个,不…

php连接sqlserver数据库

docker 安装sqlserver数据库 sudo docker pull mcr.microsoft.com/mssql/server:2017-latest sudo docker run -e "ACCEPT_EULAY" -e "MSSQL_SA_PASSWORD<YourStrongPassw0rd>" -p 1433:1433 --name sqlserver --hostname sqlserver -d mcr.microsof…

php连接sqlserver数据库服务器(或者称mssql数据库)的几种方法

备注:1.用工具软件链接sqlserver服务器(例如 Navicat Premium,提供多种链接方式) 2.用代码链接sqlserver服务器(主要有以下几种php扩展驱动) 数据库查询不外乎4个步骤&#xff0c;1、建立连接。2、输入查询代码。3、建立查询并取出数据。4、关闭连接。php连接mssql数据库有几个…

ThinkPHP 连接MSSQL PHP连接MSSQL

1.确定SQL装的时候用的是混合认证模式&#xff0c;或SQL验证模式 2.确定SQL2000装好后已打上SP4补丁 3.把“localhost”换成你的计算机名或是“127.0.0.1” 4.在PHP.ini文件里改mssql.secure_connection On 5.查看本地MSSQL端口是不是1433&#xff0c;并且本机端口是否开放状…

php5.3不能连接mssql数据库的解决方法

这篇文章主要介绍了php5.3不能连接mssql数据库的解决方法,针对php5.3之后不支持mssql_connect函数提供了对应的解决方法,具有一定的参考借鉴价值,需要的朋友可以参考下 本文实例讲述了php5.3不能连接mssql数据库的解决方法。分享给大家供大家参考。具体分析如下&#xff1a; 自…

php连接mssql(mssql_connect方式)

mssql_connect方式&#xff0c;这种方式比较方便&#xff0c;但是可能会遇到服务器没有安装mssql模块的情况。 $ms_host "192.168.0.xx"; //主机 $ms_user "sa"; //用户名 $ms_pass "aa"; //密码 $ms_data "test"; //MSSQL库名…

佳明245接收微信消息

手机设置里搜索“通知使用权”然后允许“smart Notifications ”使用。如果通知不振动长按245左中键选择 系统 声音 然后把振动选项打开。

java手表怎么设置时间设置时间设置_佳明手表怎么设置时间?

随着近期人们对健身的热衷&#xff0c;许多腕表厂商纷纷开发起了运动腕表&#xff0c;其中就有一个名为佳明的手表品牌开始为人们所了解&#xff0c;那么你知道佳明手表怎么设置时间吗?下面就由小编来为大家科普一下吧! 佳明手表怎么设置时间?想要设置佳明的运动手表时间其实…