⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 class_access.php

📁 Access,MySQL数据库处理通用类.对Microsoft Access ,Mysql 进行统一的数据库接口访问
💻 PHP
字号:
<?php
class access extends database{
	
	public function __construct($host, $user, $password, $sDatabase){
		$this->database=$sDatabase;
		$this->FieldsArray=array();
		$this->rsArray=array();
		$this->conn=new COM('ADODB.Connection') or die('create ADODB.Connection Error');
		$this->result=  new COM("ADODB.Recordset") or die('create ADODB.Recordset Error');
		$this->connStr='DRIVER={Microsoft Access Driver (*.mdb)};PASSWORD='.$password.';DBQ='.realpath($sDatabase);
		$this->conn->Open($this->connStr);
	}
	public function selectDB($dbName){}
			
	public function query($sql){
		$sql=iconv('utf-8','GBK',$sql);
		$this->sql=$sql;
		if(preg_match("/(insert|delete|update)/i",$sql)){
   			$this->conn->execute($sql);
   			return ;
		}else{
			($this->result->state) && ($this->result->close());
			$this->result->Open($sql,$this->conn,1,3);
			$this->isRsOpen=true;
			for($i=0;$i<$this->result->Fields->Count;$i++){
			 	$this->FieldsArray[$i]=$this->result->Fields[$i]->name;
			 }
		}
		$this->RecordCount=$this->result->RecordCount;
        $this->result->PageSize=($this->PageSize)?$this->PageSize : $this->RecordCount;
		
		if($this->RecordCount<1)	return;
		$this->PageCount=$this->result->PageCount;
		
		$this->result->AbsolutePage=$this->getCurrentPage($this->PageStr);
		$QueryNum++;		
		return $this->RecordCount;
	}
	
	public function getRecord(){	
		if($this->result->EOF || $this->result->BOF || ($this->rsQueryNum>=$this->PageSize && $this->PageSize>0)) return NULL;
		   for($i=0;$i<$this->result->Fields->Count;$i++){
				$this->rsArray[$this->FieldsArray[$i]]=iconv('GBK','utf-8',$this->result->Fields[$i]->value);
		   }
		  $this->rsQueryNum++;
		  $this->result->MoveNext();
		  return $this->rsArray;
		}
		
	public function getVector(){
			$this->result->MoveFirst();
	        $this->result->Move(($this->CurrentPage-1)*$this->PageSize,0);

        $n=count($this->FieldsArray);
        for($i=0;$i<min($this->RecordCount-($this->CurrentPage-1)*$this->PageSize,$this->PageSize?$this->PageSize : $this->RecordCount);$i++){
         	for($j=0;$j<$n;$j++){
             $this->rsVector[$i][$this->FieldsArray[$j]]=iconv('GBK','utf-8',$this->result->Fields[$j]->value);
         	}		
			if($this->result->EOF || $this->result->BOF ) {return $this->rsVector;}	
		$this->result->MoveNext();
        }
        return $this->rsVector;
	}
}
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -