Server : nginx/1.22.1
System : Linux iZwz9daxib3w3i063fw434Z 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64
User : www ( 1000)
PHP Version : 5.6.40
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Directory :  /www/wwwroot/www.jkmold.com/phpcms/libs/classes/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : /www/wwwroot/www.jkmold.com/phpcms/libs/classes/access.class.php
<?php

defined('IN_PHPCMS') or exit('Access Denied');

class access{

	var $querynum = 0;

	var $conn;

	var $insertid = 0;

	var $cursor = 0;

	//var $ADODB_FETCH_MODE = ADODB_FETCH_BOTH;

	/**

	 * 最近一次查询资源句柄

	 */

	public $lastqueryid = null;



	function connect($dbhost, $dbuser = '', $dbpw = '', $dbname = '', $pconnect = 0)

	{

		$this->conn = new com('adodb.connection');

		if(!$this->conn) return false;

 		$this->conn->open("DRIVER={Microsoft Access Driver (*.mdb)};dbq=$dbhost;uid=$dbuser;pwd=$dbpw");

 		if($this->conn->state == 0)

		{

			$this->conn->open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$dbhost");

			if($this->conn->state == 0)	return false;;

		}

		define('NUM', 1);

		define('ASSOC', 2);

		define('BOTH', 3);

		return $this->conn->state;

	}





	function select_db($dbname)

	{

		return $this->conn->state;

	}

 	

	function query($sql, $type = '', $expires = 3600, $dbname = '') {

		$this->querynum++;

		$sql = trim($sql);

		if(preg_match("/^(select.*)limit ([0-9]+)(,([0-9]+))?$/i", $sql, $matchs)){

 			$sql = $matchs[1];

			$offset = $matchs[2];

			$pagesize = $matchs[4];

			$query = $this->conn->Execute($sql);

 			return $this->limit($query, $offset, $pagesize);

		} else{

 			return $this->conn->Execute($sql);

		}

	}



	function get_one($query) {

		$this->querynum++;

	    $rs = $this->conn->Execute($query);

 		$r = $this->fetch_array($rs);

		$this->free_result($rs);

		return $r;

	}



	function fetch_array($rs, $result_type = 3) {

		if(is_array($rs)){

			return $this->cursor < count($rs) ? $rs[$this->cursor++] : FALSE;

		} else{

			if($rs->EOF) return FALSE;

			$array = array();

			for($i = 0; $i < $this->num_fields($rs); $i++){

				$fielddata = $rs->Fields[$i]->Value;

			    $array[$rs->Fields[$i]->Name] = $fielddata;

			}

			$rs->MoveNext();

			return $array;

		}

	}

	 

	

	function select($sql, $keyfield = ''){

		$array = array();

		$result = $this->query($sql);

		while($r = $this->fetch_array($result)){

			if($keyfield){

				$key = $r[$keyfield];

				$array[$key] = $r;

			}else{

				$array[] = $r;

			}

		}

		$this->free_result($result);

		return $array;

	}



	function num_rows($rs){

	    return is_array($rs) ? count($rs) : $rs->recordcount;

	}



	function num_fields($rs){

	    return $rs->Fields->Count;

	}



	function fetch_assoc($rs){

	    return $this->fetch_array($rs, ASSOC);

	}



	function fetch_row($rs){

	    return $this->fetch_array($rs, NUM);

	}



	function free_result($rs){

	    if(is_resource($rs)) $rs->close();

	}



	function error(){

	    return $this->conn->Errors[$this->conn->Errors->Count-1]->Number;

	}



	function errormsg(){

	    return $this->conn->Errors[$this->conn->Errors->Count-1]->Description;

	}



	function close(){

	    $this->conn->close();

	}



	function limit($rs, $offset, $pagesize = 0){

		if($pagesize > 0){

			$rs->Move($offset);

		}else{

			$pagesize = $offset;

		}

		$info = array();

		for($i = 0; $i < $pagesize; $i++){

			$r = $this->fetch_array($rs);

			if(!$r) break;

			$info[] = $r;

		}

		$this->free_result($rs);

		$this->cursor = 0;

		return $info;

	}

}

?>