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

PHP连接到MSSQL2005/2008数据库的配置与操作 [PHP]

2013-12-21 23:24 302 查看
今天尝试了一下用PHP连接MSSQL2008,总结一下。

1.首先得安装php扩展

由于php5.2中php_mssql.dll是给MSSQL2000用的,要使用MSSQL2005/2008必须得下载SQL Server Driver for PHP扩展包,尝试了N次在microsoft网站上看的是3.0版本,下载下来之后是个exe文件,还打不开,很是头痛。于是只好退求其次去找2.0版,终于在csdn上面找到了,居然标价要5点积分(上传这个资源的人真是太黑了。。。),没办法只好怀着心痛痛下载下来。打开压缩包,里面有很多dll文件。

从里面找到适合你当前php版本的扩展: php5.2的就用带有"52"字样的文件,php5.3版本的就用带有"53"字样的文件; 如果你的WEB服务器用的是IIS,就使用vc9的,如果是Apache就用vc6编译的;

比如:

我当前的开发环境是WAMP(php5.2.9,apache2.2.21),那么我就选用php_sqlsrv_52_ts_vc6.dll , php_pdo_sqlsrv_52_ts_vc6.dll 这两个文件,复制到php的扩展文件目录ext/下面。

2.然后就是修改php.ini文件了,

在php.ini文件中加上如下两行:

extension=php_sqlsrv_52_ts_vc6.dll

extension=php_pdo_sqlsrv_52_ts_vc6.dll

将 ;extension=php_pdo.dll 前面的;去掉。重新启动APACHE。

3.再写到MSSQL2008的连接的php类来验证一下

下面是我写的一个简单类,写只了一个查询记录的方法,其它的功能大家可以自己添加。

<?php

/*

例子:

//定义参数

$db_info=array(

'server'=>'WIN-0G9L24HRC8S', //数据库服务器地址

'user'=>'abc', //数据库用户名

'password'=>'abc', //数据库用户密码

'databases'=>'CRS主数据库', //数据库名

);

//数据库对象

$db = new mssql2008($db_info);

//取得记录

$rs = getrs($sql='SELECT TOP 100 * FROM caf_AppModule');

*/

class mssql2008

{

private $db; //数据库操作对象

//数据库信息

private $db_info=array(

'server'=>'localhost',

'user'=>'sa',

'password'=>'sa',

'databases'=>'',

);

//初使化连接数据库

public function __construct($info=array())

{

$db_info = array("UID"=>$info['user'], "PWD"=>$info['password'], "Database"=>$info['databases']);

$db = sqlsrv_connect( $info['server'], $db_info);

if($db===false){

echo "连接失败!";

die( print_r( sqlsrv_errors(), true));

}else{

$this->db_info = $info;

$this->db = $db;

}

}

//执行sql语句

public function query($sql='')

{

$sql = trim($sql);

if(!isset($this->db) || $sql==''){

return array();

}

$query = sqlsrv_query($this->db,$sql);

if($query === false){

echo "Error in query preparation/execution.\n";

die( print_r( sqlsrv_errors(), true));

}else{

return $query;

}

}

//查询记录

public function getrs($sql='')

{

$query = $this->query($sql);

$rs = array();

//遍历出记录集

while($row = sqlsrv_fetch_array($query,SQLSRV_FETCH_ASSOC)){

$rs[] = $row;

}

return $rs;

}

}

?>

对了,差点忘了一件大事: SQL
Server Driver for PHP 2.0.rar 扩展包, 我把它传到我空间来了这样可以随意下载吧,不然大家就得去csdn花5点积分了。。。 (看出我是多好的人了吧。^-^!)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: