Php sql server2005,phpmssqlserver2005数据库连接类
phpmssqlserver2005数据库连接类
mssql server 2005连接类
class msDriver{
public $error;
public $querynum=0;
public $link;
public $lastQuery;
public $lastInsert_id=0;
public $error_callback=array('record'); //record,ignore,report,abort
public $error_report_file=ROOT."/webdata/db.error.log";
function __construct($server='',$connectionInfo=array()){
if ($server){
$this->connect($server,$connectionInfo);
}
}
function __destruct(){
!$link && $link= &$this->link;
if ($link) sqlsrv_close( $link );
}
function connect($dbhost='(local)', $connectionInfo=array()){
$this->link=sqlsrv_connect($dbhost,$connectionInfo);
if (!$this->link) $this->halt();
}
/**
*查询过程
*
* @param string $sql
* @param resource $link
* @return resource
*/
function query($sql="",$link=''){
!$link && $link= &$this->link;
);
$this->lastQuery=&$query;
if (!$query) $this->halt();
$reg = "#insert into#";
if(preg_match($reg,$sql)){
$res = sqlsrv_query($link,"select @@IDENTITY as id");
$this->lastInsert_id = sqlsrv_get_field($res,0);
}
return $query;
}
/**
* 返回字段总数
*
* @param resource $result
* @return number
*/
function num_fields($result=''){
if (!$result) $this->halt();
return @sqlsrv_num_fields($result);
}
/**
* 返回字段值
*
* @param resource $result
* @param Int $fieldIndex
* @return value
*/
function result($result='',$fieldIndex=0){
if (!$result) $this->halt();
return sqlsrv_get_field($result,$fieldIndex);
}
/**
* 返回行数组
*
* @param unknown_type $result
* @return unknown
*/
function fetch_array($result,$type=SQLSRV_FETCH_ASSOC){ //SQLSRV_FETCH_NUMERIC,SQLSRV_FETCH_ASSOC,SQLSRV_FETCH_BOTH
!$result && $result=$this->lastQuery;
if (!$result) $this->halt();
);
return is_array($r)?$r:0;
}
/**
* 返回影响的记录数
*
* @param resource $result
* @return number
*/
function affected_rows($result) {
if (!$result) $this->halt();
return sqlsrv_rows_affected($result);
}
function insert_id(){
return $this->lastInsert_id;
}
function freeResult($result){
!$result && $result=$this->lastQuery;
sqlsrv_free_stmt($result);
}
/**
* 错误的处理方式
*
*/
function halt(){
$err=$this->getEroor();
//var_dump($err['']);
if (in_array('record',$this->error_callback)){
$fp=fopen($this->error_report_file,'a+');
if ($fp){
fwrite($fp,"[".date("Y//m/dH:i:s")."](".$err['code'].")".$err['message'].",URL:".$_SERVER["REQUEST_URI"]."?".$_SERVER["QUERY_STRING"]."rn");
fclose($fp);
}
}
if (in_array('report',$this->error_callback)){
echo "
错误:[".date("Y//m/d H:i:s")."](".$err['code'].")".$err['message'];
}
if (in_array('abort',$this->error_callback)){
exit;
}
}
/**
* 返回查询错误
*
* @return array
*/
function getEroor(){
$err=sqlsrv_errors();
//return array('code'=>$err['code'],'message'=>$err['message']);
return is_array($err)?$err[0]:array();
}
}
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网
Php sql server2005,phpmssqlserver2005数据库连接类相关推荐
- 自己写的Python数据库连接类和sql语句拼接方法
这个工具类十分简单和简洁. sql拼接方法 # encoding=utf-8 from django.http import HttpResponse from anyjson import seri ...
- python怎么和sql一起用_自己写的Python数据库连接类和sql语句拼接方法
这个工具类十分简单和简洁. sql拼接方法 # encoding=utf-8 from django.http import HttpResponse from anyjson import seri ...
- php SQLite mysql_PHP实现的sqlite数据库连接类
本文实例讲述了PHP实现的sqlite数据库连接类.分享给大家供大家参考.具体实现方法如下: 该sqlite数据库连接类就是利用了php与sqlite进行连接操作,代码如下: */ lass db_c ...
- java数据库连接类,已经把数据库操作的方法都封装好了
在这里分享一个已经封装好了的java数据库连接类,只要创建对象就可以实现数据库的增删改查操作,用过都说好.其实这个不是我自己写的,是一个理解和学习能力超高的朋友写的,他也很乐于分享交流,本人也深受他的 ...
- 在SQL Server2005中进行错误捕捉
任何程序都可能出现错误,在SQL Server中执行Transact-SQL也不例外.如果在Transact-SQL中发生了错误,一般有两种捕捉错误的方法,一种是在客户端代码(如 c#.delphi等 ...
- PC软件开发技术之一:在WinCC中通过VBS操作SQL Server2005
在项目中需要在一定条件满足时,保存一些数据到数据库中,并可根据条件查询.考虑到WinCC6.2以后采用的就是SQL Server2005数据库,所以直接利用该数据库即可,通过SQL Server Ma ...
- 使用C#打造通用的数据库连接类
众所周知vs.net提供了sqlserver.oledb.odbc等几种数据库连接驱动,现在比较常见的数据库连接类(如DBHelper等)只提供了其中一种连接方式,在我们开发的项目要更换数据库时或者在 ...
- mysql2005安装asp_asp连接sql server2005数据库
首先,新建一个asp.net网站. 然后打开Default.aspx输入一下中的代码. 无标题页 SqlConnection MyConnection; MyConnection = new SqlC ...
- 搭建WAMP5环境,连接SQL Server2005数据库问题汇总
经过两周的测试.修改,终于将网上药品采购系统从公司内部OA系统中独立出来,用WAMP5重新搭建了PHP网上药品采购系统.现将遇到的问题汇总如下: 1.数据库连接失败的问题,提示 Fatal error ...
最新文章
- 累加结合律,交换律,分配律的一个例子
- pytorch 实现openpose
- 如何从SEO优化角度设计网站导航栏?
- C#操作word文档(二)
- 视频 | OFC上的腾讯声音
- php中datetime,珍藏 PHP中DateTime的常用方法
- 使用wordpress_为什么我使用WordPress进行教育
- Asp.net高效导出excel篇之Aspose导出excel
- 使用 matlab 求解多元非线性方程组
- “产品助理最重要的工作是 Android 版本的设计与测试”
- eclipse中文版eclipse汉化教程
- VS2015 自动代码补全
- 区分PCI总线, PCIe总线和内存总线
- Matlab与线性代数 -- Hilbert矩阵
- win32 指令大全
- Spring事务如何集成到Mybatis之Mybatis事务
- C++课堂笔记整理(STL) map2
- 2019,关于我的故事
- [树的直径 树形DP] UOJ #11【UTR #1】ydc的大树
- 【每日一题】涂色PAINT
热门文章
- Linux 网页交互、curl
- matlab 可视化(specifier)
- 协方差矩阵(covariance matrix)
- for里面嵌套if_求求你们了,别再写满屏的 if/ else 了!
- android studio创建9.patch图片,使用时出现Error: Duplicate resources
- 0基础学python要多久-零基础学习Python开发需要多长时间?
- python官网下载文件-使用Python下载文件的简单示例
- python 干什么工作具有明显优势-python能做什么?有哪些优点?
- python3.6安装步骤-手动安装python3.6的操作过程详解
- 今天的语音识别,我们就用Python来做,从基础的知识到实践的运用