php access 数据库类

 
更多

<?php
if (! defined ( 'APPINC' ))
 exit ( "Request Error!" );
/**
 * 数据库类
 * 说明:系统底层Access数据库核心类
 */


/**
 *
 * Db_Access数据库类
 *
 */
class Db_Access{
    var $dataPath;
    var $constr;
    var $dbusername;
    var $dbpassword;
    var $link;
    var $results;
    var $result;    
    var $QueryString;


 function __construct($dataPath,$dbusername,$dbpassword) {
 $this->Db_Access($dataPath,$dbusername,$dbpassword);
 }


    function Db_Access($dataPath,$dbusername,$dbpassword){
        $this->dataPath=$dataPath;
        $this->username=$dbusername;
        $this->password=$dbpassword;
        $this->Connect();
    }


 function Connect(){
     $this->constr='DRIVER={Microsoft Access Driver (*.mdb)};DBQ='.realpath($this->dataPath).';';
     $this->link=odbc_connect($this->constr,$this->username,$this->password,SQL_CUR_USE_ODBC);
     if(!$this->link) die ("数据库连接失败!");
     return $this->link;
 }
 //设置SQL语句,会自动把SQL语句里的#@__替换为$this->dbPrefix(在配置文件中为$cfg_dbprefix)
 function SetQuery($sql) {
 $GLOBALS['last_sql']=$sql;
 $this->queryString = $sql;
 }
 //Query 直接运行SQL,可用于更新、删除数据
 function Query($sql){
     return @odbc_exec($this->link,$sql);
 } 
 //执行一个带返回结果的SQL语句,如SELECT,SHOW等
 function Execute($sql="",$id = "this"){
 if (! empty ( $sql )) {
 $this->SetQuery ( $sql );
 }
 $this->result = odbc_exec($this->link,$this->queryString);
 $this->results [$id] = &$this->result;
 }
 
 //执行一个不返回结果的SQL语句,如update,delete,insert等
 function ExecNoneQuery($sql){ 
     $this->Execute($sql);
     return $this->result;
 }
  
  // 执行带返回结果的sql 返回影响到的行的数目
 function ExecNoneQuerys($sql){
 $this->Execute($sql);
     return @odbc_num_rows($this->result);
 }


 //执行一个SQL语句,返回前一条记录或仅返回一条记录
 function GetOne($sql) { 
 $this->Execute($sql);
 return odbc_fetch_array($this->result);
 }


 //取得当前指针处记录
 function GetArray($id = "this"){
 if ($this->results [$id] == 0) {
 return FALSE;
 } else {
 return @odbc_fetch_array( $this->results [$id]);
 }
 } 
 //关闭数据库连接函数
 function close(){    
     odbc_close($this->link);
 } 


}


/*
$dataPath='./data.mdb';
$dbusername='';
$dbpassword='';
$access=new Db_Access($dataPath,$dbusername,$dbpassword);
$sql="SELECT TOP 1 * FROM `huifang`;";
//获取单条信息
$row=$access->GetOne($sql);
var_dump($row);


//循环遍历数据
$access->Execute ($sql);
while ($row=$access->GetArray()){
 var_dump($row);
}
//执行一个不返回结果的SQL语句,如update,delete,insert等
$access->ExecNoneQuery("INSERT INTO `huifang` (`nrid`,`hfsj`) VALUES ('55791','2016-04-25 17:21:20');");
//执行带返回结果的sql
var_dump($access->ExecNoneQuerys("INSERT INTO `huifang` (`nrid`,`hfsj`) VALUES ('55791','2016-04-25 17:21:20');"));
*/
?>

打赏

本文固定链接: https://www.cxy163.net/archives/1066 | 绝缘体

该日志由 绝缘体.. 于 2016年04月28日 发表在 首页 分类下,
原创文章转载请注明: php access 数据库类 | 绝缘体

报歉!评论已关闭.