php连接sqlserver2008失败

php连接sqlserver2008失败,第1张

这个是提示你没有安装MSSQl 2012的驱动扩展。

从Sql Server 2008开始,不再支持基铅PHP自带的驱动程序,需要使用微软提供的驱动程序。此驱动程序抛弃了mssql系列函数,只能使用sqlsrv和pdo的方式进行连接 *** 作。

步骤1:下载微软Sql Server官方驱动程序,下载地址:

http://www.microsoft.com/en-us/download/details.aspx?id=20098

步骤2:安装Sql Server的驱动扩展

将下载好的exe程序打开,解压会释放雀锋搜出很多.dll文件,将对应的dll文件拷贝到你的php扩展包目录下的ext目录。

解压得到的dll文件中文件名的数字部分(例如52,53)代表对应不同的PHP版本,文件名中带n的为非线程安全的,文件名中的顷历vc对应的是VC版本,VC6可以部署到Apach2.X版本,VC9可部署到更高版本Apache。

首先,需要确定你的PHP的版本,假设PHP的版本为5.3.x

其次,要确定你的PHP运行的是线程安全的还是非线程安全的(假设线程安全)。

另外,还需要确认的版本(假设Apache2.2)。

那么,你对应的文件应当是php_pdo_sqlsrv_53_ts_vc6.dll(PDO链接)和php_sqlsrv_53_ts_vc6.dll(sqlsrv链接),将这两个文件拷贝到你的PHP的扩展包下的ext目录,然后要修改php.ini,增加这两项扩展的支持:

extension=php_sqlsrv_53_ts_vc6.dll

extension=php_pdo_sqlsrv_53_ts_vc6.dll

保存后重启Apache即可。

准备工作:SQLSRV20.EXE(PHP mssql扩展库)、php_mssql.dll文件。

安装PHP mssql扩展库:安装SQLSRV20.EXE,选择解压路径为:D:\wamp\bin\php\php5.2.9-2\ext。

修改php.ini配置文件:打开php.ini配置文件,将其中

        extension=php_mssql.dll

      extension=php_pdo_mssql.dll

前面的分号去掉,然后再”Dynamic Extensions”区域的后面添加php_sqlsrv的动态链接库文件:       卖清 extension=php_sqlsrv_52_ts_vc6.dll

      extension=php_pdo_sqlsrv_52_ts_vc6.dll

注意事项:查看D:\wamp\bin\php\php5.2.9-2\ext目录下有也Php_mssql.dll文件。如果没有,则下载该文件,复制到该目录下。

测试环境配置是否成功:打开浏览器,在地址栏输入http://localhost/?phpinfo=1 ,如果在打开的网页中查询到如下页面内容,则配置成功,否则配置失败。

重启WAMP所有服务。

测试:编写一个简单的SQL SERVER2008数据库连接的测试程序。测试程序具体代码如下:

<?php

$server ="192.168.61.181"  //服务器IP地址,如果是本地,可以写成localhost

$uid ="sa"  //用户名中敏前

$pwd ="cwh"//密码

$database ="UserMan"  //数据库名称

//进行拿耐数据库连接

$conn =mssql_connect($server,$uid,$pwd) or die ("connect failed")

mssql_select_db($database,$conn)

//执行查询语句

$query ="select * from users"

$row =mssql_query($query)

//打印输出查询结果

while($list=mssql_fetch_array($row))

{

print_r($list)

echo "<br>"

}

?>

查询结果演示:

1. [代码][PHP]代码 跳至 [1] [全屏预览]

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

php5.3以后,已经不对sqlserver支持连接扩展了,不过微软租物桥官方还是对php5.3以后进行了扩展解决方案。

1.确认要连接sqlserver的数据库版本为2005

2.确认php支持的vc9还是vc6,这里可以从phpinfo()里看出来。

3.确认php的版本为5.3,并且确认php是否线程安全,可以再phpinfo()里看出来。

3.根据上面到微软官方下载扩展。或者直接下载附件。

2,3点在phpinfo里的Zend Extension Build这个属性中可以看出来蚂镇。

如:API220090626,TS,VC9TS代表线程安全,VC9版本的扩展。

API220090626,NTS,VC6 NTS代表非现成安全,VC6版本的扩展。

TS,VC9将php_pdo_sqlsrv_53_ts_vc9.dll,php_sqlsrv_53_ts_vc9.dll这两个扩展赋值到php/ext目录下。

TS,VC6将php_pdo_sqlsrv_53_ts_vc6.dll,php_sqlsrv_53_ts_vc6.dll这两个扩展赋值到php/ext目录下。

NTS,VC9 将php_pdo_sqlsrv_53_nts_vc9.dll,php_sqlsrv_53_nts_vc9.dll这两个扩展赋值到php/ext目录下。

NTS,VC6 将php_pdo_sqlsrv_53_nts_vc6.dll,php_sqlsrv_53_nts_vc6.dll这两个扩展赋值到php/ext目录下。

同时,打开php.ini文件,写入下面代码

extension=复制在ext下的pdo扩展//一定要对应

extension=复制在ext下的扩展//一定要对应

一个php_pdo_sqlsrv对应一个php_sqlsrv

完成上面 *** 作后。重启iis.

打开phpinfo()

可以查询PDO pdo项里包括sqlsrv

查询pdo_sqlsrv

如果上面都存弊猛在,则php5.3连接sqlserver2005已经成功了。。

然后写个测试连接的实例,测试成功。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12488727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存