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/ |
<?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; } } ?>