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数据库连接类相关推荐

  1. 自己写的Python数据库连接类和sql语句拼接方法

    这个工具类十分简单和简洁. sql拼接方法 # encoding=utf-8 from django.http import HttpResponse from anyjson import seri ...

  2. python怎么和sql一起用_自己写的Python数据库连接类和sql语句拼接方法

    这个工具类十分简单和简洁. sql拼接方法 # encoding=utf-8 from django.http import HttpResponse from anyjson import seri ...

  3. php SQLite mysql_PHP实现的sqlite数据库连接类

    本文实例讲述了PHP实现的sqlite数据库连接类.分享给大家供大家参考.具体实现方法如下: 该sqlite数据库连接类就是利用了php与sqlite进行连接操作,代码如下: */ lass db_c ...

  4. java数据库连接类,已经把数据库操作的方法都封装好了

    在这里分享一个已经封装好了的java数据库连接类,只要创建对象就可以实现数据库的增删改查操作,用过都说好.其实这个不是我自己写的,是一个理解和学习能力超高的朋友写的,他也很乐于分享交流,本人也深受他的 ...

  5. 在SQL Server2005中进行错误捕捉

    任何程序都可能出现错误,在SQL Server中执行Transact-SQL也不例外.如果在Transact-SQL中发生了错误,一般有两种捕捉错误的方法,一种是在客户端代码(如 c#.delphi等 ...

  6. PC软件开发技术之一:在WinCC中通过VBS操作SQL Server2005

    在项目中需要在一定条件满足时,保存一些数据到数据库中,并可根据条件查询.考虑到WinCC6.2以后采用的就是SQL Server2005数据库,所以直接利用该数据库即可,通过SQL Server Ma ...

  7. 使用C#打造通用的数据库连接类

    众所周知vs.net提供了sqlserver.oledb.odbc等几种数据库连接驱动,现在比较常见的数据库连接类(如DBHelper等)只提供了其中一种连接方式,在我们开发的项目要更换数据库时或者在 ...

  8. mysql2005安装asp_asp连接sql server2005数据库

    首先,新建一个asp.net网站. 然后打开Default.aspx输入一下中的代码. 无标题页 SqlConnection MyConnection; MyConnection = new SqlC ...

  9. 搭建WAMP5环境,连接SQL Server2005数据库问题汇总

    经过两周的测试.修改,终于将网上药品采购系统从公司内部OA系统中独立出来,用WAMP5重新搭建了PHP网上药品采购系统.现将遇到的问题汇总如下: 1.数据库连接失败的问题,提示 Fatal error ...

最新文章

  1. 累加结合律,交换律,分配律的一个例子
  2. pytorch 实现openpose
  3. 如何从SEO优化角度设计网站导航栏?
  4. C#操作word文档(二)
  5. 视频 | OFC上的腾讯声音
  6. php中datetime,珍藏 PHP中DateTime的常用方法
  7. 使用wordpress_为什么我使用WordPress进行教育
  8. Asp.net高效导出excel篇之Aspose导出excel
  9. 使用 matlab 求解多元非线性方程组
  10. “产品助理最重要的工作是 Android 版本的设计与测试”
  11. eclipse中文版eclipse汉化教程
  12. VS2015 自动代码补全
  13. 区分PCI总线, PCIe总线和内存总线
  14. Matlab与线性代数 -- Hilbert矩阵
  15. win32 指令大全
  16. Spring事务如何集成到Mybatis之Mybatis事务
  17. C++课堂笔记整理(STL) map2
  18. 2019,关于我的故事
  19. [树的直径 树形DP] UOJ #11【UTR #1】ydc的大树
  20. 【每日一题】涂色PAINT

热门文章

  1. Linux 网页交互、curl
  2. matlab 可视化(specifier)
  3. 协方差矩阵(covariance matrix)
  4. for里面嵌套if_求求你们了,别再写满屏的 if/ else 了!
  5. android studio创建9.patch图片,使用时出现Error: Duplicate resources
  6. 0基础学python要多久-零基础学习Python开发需要多长时间?
  7. python官网下载文件-使用Python下载文件的简单示例
  8. python 干什么工作具有明显优势-python能做什么?有哪些优点?
  9. python3.6安装步骤-手动安装python3.6的操作过程详解
  10. 今天的语音识别,我们就用Python来做,从基础的知识到实践的运用