扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这个是提示你没有安装MSSQl 2012的驱动扩展。
公司主营业务:成都网站设计、做网站、成都外贸网站建设公司、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出岳西免费做网站回馈大家。
从Sql Server 2008开始,不再支持PHP自带的驱动程序,需要使用微软提供的驱动程序。此驱动程序抛弃了mssql系列函数,只能使用sqlsrv和pdo的方式进行连接操作。
步骤1:下载微软Sql Server官方驱动程序,下载地址:
步骤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即可。
一、环境
php5.2.5
sqlserver2008
win7
二、配置php
1、打开php.in将extension=php_mssql.dll的注释符号去掉。
2、打开php.in将mssql.secure_connection
=
off改为on。
3、从5.2开始,php就不再提供mssql.dll了,所以要php连接sql
server
2005/2008/2012必须要使用微软提供的sql
server
for
php
2.0/3.0
这个文件可以上微软官网下载(sqlsrv20.exe/sqlsrv30.exe),然后执行到wamp\php\ext文件夹下
打开php.ini文件
在extensions后面加上:
extension=php_sqlsrv_53_ts.dll
extension=php_pdo_sqlsrv_53_ts.dll
注:52代表php5.2
假如是php5.3就拷贝php_sqlsrv_53_ts_vc6.dll
关于vc6和vc9的区别
vc6
版本是使用
visual
studio
6
编译器编译的,如果你是在windows下使用apache+php的,请选择vc6版本。
vc9
版本是使用
visual
studio
2008
编译器编译的,如果你是在windows下使用iis+php的,请选择vc9版本。
首先要使用SQL
Server
Driverfor
PHP,下载好对应的版本后,在PHP中添加下载好的扩展。
部分代码:
$serverName
=
"localhost";
//数据库服务器地址$uid
=
"sa";
//数据库用户名$pwd
=
"123";
//数据库密码$connectionInfo
=
array("UID"=$uid,"PWD"=$pwd,
"Database"="cart");$conn
=
sqlsrv_connect(
$serverName,
$connectionInfo);if(
$conn
==
false){
echo
"连接失败!";
die(
print_r(sqlsrv_errors(),
true));}
php页面是utf八的编码,然后命令发给数据库的时候转换下编码,例子见图
php有专门的sql server操作函数,举个简单的例子,是查询的
$serverName = "localhost"; //数据库服务器地址
$uid = "root"; //数据库用户名
$pwd = "123456"; //数据库密码
$connectionInfo = array("UID"=$uid, "PWD"=$pwd, "Database"='databasename');
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false){
echo "连接数据库失败!";
die( print_r( sqlsrv_errors(), true));
}
$sql = "select * from user";
$query = sqlsrv_query( $conn, $sql , array(), array( "Scrollable" = SQLSRV_CURSOR_KEYSET ));
$num_rows = sqlsrv_num_rows($query);
if($num_rows 0){
while ($row = sqlsrv_fetch_array($query)){
echo $row['aaaa'];
}
}
其它的操作也同理,举一反三
准备工作: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文件。如果没有,则下载该文件,复制到该目录下。
测试环境配置是否成功:打开浏览器,在地址栏输入 ,如果在打开的网页中查询到如下页面内容,则配置成功,否则配置失败。
重启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";
}
?
查询结果演示:
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流