php sqlserver 类,php链接sqlserver类

class sqlsrv{

private $error_log = array();

private $sql_log = array();

private $query_id;

private $num_rows;

private $conn;

private $server=".";

private $userid="sa";

private $password="sa";

private $database="db";

//connection

function sqlsrv() {

}

function open(){

$this->conn = @sqlsrv_connect($this->server, array('UID' => $this->userid ,'PWD'=> $this->password, 'Database' => $this->database));

if($this->conn === false) {

$this->error_log[] = sqlsrv_errors();

die();

}

}

function close(){

sqlsrv_close($this->conn);

}

//query source

function query($sql,$params=array(),$open_close=1){

if($open_close){

$this->open();

}

$array=array();

for($i=0;$i

if(is_array($params[$i])){

$array[$i]=array($this->convert2gbk($params[$i][0]),$params[$i][1]);

}

else{

$array[$i] =array($this->convert2gbk($params[$i]),SQLSRV_PARAM_IN);

}

}

$stmt = sqlsrv_query($this->conn, $sql,$array);

$this->sql_log[] = $sql;

$res=false;

if($stmt === false) {

$this->error_log[] = sqlsrv_errors();

} else {

$this->query_id = $stmt;

$res=$this->num_rows = $this->affectedRows();

}

if($open_close){

$this->close();

}

return $res;

}

//fetch data

function fetch_all($sql,$params=array(),$open_close=1) {

if($open_close){

$this->open();

}

$this->query($sql,$params,0);

$data = array();

while($row = @sqlsrv_fetch_array($this->query_id)) {

$data[] = $row;

}

foreach ($data as $key => $value) {

foreach ($value as $key2 => $value2) {

@$data[$key][$key2] = $this->convert2utf8($value2);

}

}

if($open_close){

$this->close();

}

return $data;

}

// $DB->count(select * from users)

function fetch_one($sql,$params=array(),$open_close=1){

if($open_close){

$this->open();

}

$this->query($sql,$params,0);

@$res= sqlsrv_fetch_array($this->query_id);

if(is_array($res)){

foreach ($res as $key => $value) {

@$res[$key] = $this->convert2utf8($value);

}

}

if($open_close){

$this->close();

}

return $res;

}

// $DB->count(select count(*) from users)

function count($sql,$params=array(),$open_close=1){

if($open_close){

$this->open();

}

$count=$this->fetch_one($sql,$params,0);

$res= $count[0];

if($open_close){

$this->close();

}

return $res;

}

function affectedRows() {

$res=($this->query_id) ? @sqlsrv_num_rows($this->query_id) : false;

if($res==false){

$res=($this->query_id) ? @sqlsrv_rows_affected($this->query_id) : false;

}

return $res;

}

function convert2utf8($str)

{

return iconv("gbk","utf-8",$str);

}

function convert2gbk($str)

{

return iconv("utf-8","gbk",$str);

}

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
php mysql+sql server 数据库处理类 /* 文 件 名:CDataBase.php 类 名:CDataBase 继承关系:XMLClass 通用属性: $Con | 数据连标识 $DBaseName | 数据库名称 $UserID | 数据库登陆用户名 $PassWord | 数据库登陆密码 $Address | 数据库地址 $Port | 连端口号 $DBType | 数据库类型【MS_SQL\MYSQL\ORACLE】 $TableName | 数据表名 $release | 是否调试语句 公共方法: set_var($Address,$Port,$DBType,$UserID,$PassWord,$DBaseName) 方法说明:设置数据连参数 入口参数:同通用属性 返回类型:无 DB_Connect() 方法说明:连数据库 入口参数:无 返回类型:连ID DB_Close() 方法说明:连数据库 入口参数:无 返回类型:无 DB_Select($DBaseName,$Con) 方法说明:选择数据库 入口参数:$DBasename|数据库名称;$Con|数据库连ID 返回数型:无 CreateDbase($DBname) 方法说明:建立数据库 入口参数:$DBname | 数据库名称,长度20以内的字符,根据不同的数据库类型,字符的要求不一定一致 返回类型:成功返回 1,失败返回0 DropDbase($DBname) 方法说明:删除数据库 入口参数:$DBname | 数据库名称,长度20以内的字符,根据不同的数据库类型,字符的要求不一定一致 返回类型:成功返回 1,失败返回0 CreateTable($TableName,$FieldArray,$TypeArray) 方法说明:建立数据表 入口能数: $TableName | 数据表名称、$FieldArray | 字段列表、$TypeArray | 字段类型及长度列表 返回类型:成功返回 1,失败返回0 DropTable($TableName) 方法说明:删除数据表 入口能数: $TableName | 数据表名称 返回类型:成功返回 1,失败返回0 UpdateTable($TableName,$FieldArray,$TypeArray,$Mode) 方法说明:修改表结构 入口能数: $TableName | 数据表名称、$FieldArray | 字段列表、$TypeArray | 字段类型及长度列表、$Mode | 操作方式【ADD 添加字段,UPDATE 修改字段、DEL 删除字段】 返回类型:成功返回 1,失败返回0 Tab_Insert($TableName,$FieldArray,$ValueArray,$KeyField,$KeyValue) 方法说明:向指定表插入数据 入口能数: $TableName | 数据表名称、$FieldArray | 字段列表、$ValueArray | 字段值列表、$KeyField | 关键字段名、$KeyValue | 关键字段值 返回类型:成功返回 1,失败返回0 Tab_Update($TableName,$FieldArray,$ValueArray,$KeyField,$KeyValue,$RArray) 方法说明:修改指定表数据 入口能数: $TableName | 数据表名称、$FieldArray | 字段列表、$ValueArray | 字段值列表、$KeyField | 条件字段名列表、$KeyValue | 条件字段值列表、$RArray | 字段关系(二维数据,[$][0]:与前一个条件的关系"and,or,like,in,not in";[$][1]:字段与值的关系">,=,<=,=,") 返回类型:成功返回 1,失败返回0 Tab_Delete($TableName,$KeyField,$KeyValue,$RArray) 方法说明:修改指定表数据 入口能数: $TableName | 数据表名称、$K
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值