亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mysqlc.php

?? 太煩了
?? PHP
?? 第 1 頁 / 共 4 頁
字號:
                    $tmp = DB_FETCHMODE_DEFAULT;                } else {                    $tmp = $params;                }                $params = $fetchmode;                $fetchmode = $tmp;            } elseif ($params !== null) {                $fetchmode = $params;                $params = array();            }        }        if (sizeof($params) > 0) {            $sth = $this->prepare($query);            if (DB::isError($sth)) {                return $sth;            }            $res =& $this->execute($sth, $params);            $this->freePrepared($sth);        } else {            $res =& $this->query($query);        }        if (DB::isError($res) || $res === DB_OK) {            return $res;        }        $results = array();        while (DB_OK === $res->fetchInto($row, $fetchmode)) {            if ($fetchmode & DB_FETCHMODE_FLIPPED) {                foreach ($row as $key => $val) {                    $results[$key][] = $val;                }            } else {                $results[] = $row;            }        }        $res->free();        if (DB::isError($row)) {            $tmp =& $this->raiseError($row);            return $tmp;        }		$this->saveCache($qry, $results);        return $results;    }    // }}}	/* Query is processed only for the update/delete/insert etc. queries.		THis is needed to update the corresponding tables fully.	 */    // {{{ query()    /**     * Send a query to the database and return any results with a     * DB_result object     *     * The query string can be either a normal statement to be sent directly     * to the server OR if <var>$params</var> are passed the query can have     * placeholders and it will be passed through prepare() and execute().     *     * @param string $query  the SQL query or the statement to prepare     * @param mixed  $params array, string or numeric data to be used in     *                       execution of the statement.  Quantity of items     *                       passed must match quantity of placeholders in     *                       query:  meaning 1 placeholder for non-array     *                       parameters or 1 placeholder per array element.     *     * @return mixed  a DB_result object or DB_OK on success, a DB     *                error on failure     *     * @see DB_result, DB_common::prepare(), DB_common::execute()     * @access public     */    function &query($query, $params = array())    {		settype($params,'array');		$qry = $this->prepareFullQuery($query, $params);		$ismanip = $this->queryisManip($qry);		if ($ismanip) {			$this->updateTableTimes($qry);		}        if (sizeof($params) > 0) {            $sth = $this->prepare($query);            if (DB::isError($sth)) {                return $sth;            }            $ret =& $this->execute($sth, $params);            $this->freePrepared($sth);            return $ret;        } else {            $result = $this->simpleQuery($query);            if (DB::isError($result) || $result === DB_OK) {                return $result;            } else {                $tmp =& new DB_result($this, $result);                return $tmp;            }        }    }    // }}}    // {{{ autoExecute()    /**     * Automaticaly generate an insert or update query and call prepare()     * and execute() with it     *     * @param string $table name of the table     * @param array $fields_values assoc ($key=>$value) where $key is a field name and $value its value     * @param int $mode type of query to make (DB_AUTOQUERY_INSERT or DB_AUTOQUERY_UPDATE)     * @param string $where in case of update queries, this string will be put after the sql WHERE statement     * @return mixed  a new DB_Result or a DB_Error when fail     * @see DB_common::autoPrepare(), DB_common::buildManipSQL()     * @access public     */    function autoExecute($table, $fields_values, $mode = DB_AUTOQUERY_INSERT, $where = false)    {        $sth = $this->autoPrepare($table, array_keys($fields_values), $mode, $where);        $ret =& $this->execute($sth, array_values($fields_values));        $this->freePrepared($sth);        return $ret;    }    // }}}    // {{{ execute()    /**     * Executes a DB statement prepared with prepare()     *     * Example 1.     * <code> <?php     * $sth = $dbh->prepare('INSERT INTO tbl (a, b, c) VALUES (?, !, &)');     * $data = array(     *     "John's text",     *     "'it''s good'",     *     'filename.txt'     * );     * $res =& $dbh->execute($sth, $data);     * ?></code>     *     * @param resource  $stmt  a DB statement resource returned from prepare()     * @param mixed  $data  array, string or numeric data to be used in     *                      execution of the statement.  Quantity of items     *                      passed must match quantity of placeholders in     *                      query:  meaning 1 placeholder for non-array     *                      parameters or 1 placeholder per array element.     *     * @return object  a new DB_Result or a DB_Error when fail     *     * {@internal ibase and oci8 have their own execute() methods.}}     *     * @see DB_common::prepare()     * @access public     */    function &execute($stmt, $data = array())    {        $realquery = $this->executeEmulateQuery($stmt, $data);        if (DB::isError($realquery)) {            return $realquery;        }		$ismanip = $this->queryisManip($realquery);		if ($ismanip) {			$this->updateTableTimes($realquery);		}        $result = $this->simpleQuery($realquery);        if (DB::isError($result) || $result === DB_OK) {            return $result;        } else {            $tmp =& new DB_result($this, $result);            return $tmp;        }	}    // }}}    /* Cache related functions are added below */	/* Get all tables in osDate and populate the $osDate_tables array. THis will	   check if the file is available in cache and yes, then load the contents.	   Otherwise get all table names from DB and create file without any time and	   store the names in the $cached_tables array with 0 as time. */	/* This function just does the prepare and emulateExecuteQuery and returns		complete query with all replaceable values replaced */	function prepareFullQuery($query, $params = array()) {        if (sizeof($params) > 0) {            $sth = $this->prepare($query);            if (DB::isError($sth)) {                return $sth;            }	        $realquery = $this->executeEmulateQuery($sth, $params);			return $realquery;		}		return $query;	}	function getAllCachedTables() {		global $config;		if ($config['disable_cache'] == 'Y' || $config['disable_cache'] == '1' ) {			return true;		}		if (is_readable(CACHE_DIR.'cached_tables.dat')  ) {			/* OK. The cache file is available. Load it to memory */			$this->cached_tables = unserialize( file_get_contents( CACHE_DIR.'cached_tables.dat' ) );		} else {			$res = $this->simpleQuery("show tables");	        while (DB_OK === $this->fetchInto($res, $row, $fetchmode)) {				foreach ($row as $v) {					$this->cached_tables[$v] = 0;				}			}			$this->writeCachedTables();		}	}	/* This function will write the cacehd tables update time into the file */	function writeCachedTables() {		global $config;		if ($config['disable_cache'] == 'Y' || $config['disable_cache'] == '1' ) {			return true;		}		/* Now write this to cached_tables info file */		$fp = fopen(CACHE_DIR.'cached_tables.dat', 'wb');		fwrite($fp, serialize($this->cached_tables));		fclose($fp);	}	// {{{ update_table_times()	/*	 *	This function will update the cached_tables file with latest update time.	 *  This will write the file with updated time	 *  @param the SQL Query	 *	 *	@access internal	 *  @return none	 */	function updateTableTimes($query) {		global $config;		if ($config['disable_cache'] == 'Y' || $config['disable_cache'] == '1' ) {			return true;		}		$this->getAllCachedTables();		$query = strtolower($query);		$table_found=0;		$tim = (float) $this->get_micro_time1();		if (count($this->cached_tables) > 0) {			foreach ($this->cached_tables as $tab => $tm) {				if (substr_count($query,strtolower($tab)) > 0) {					$table_found++;					$this->cached_tables[$tab]= (float) $tim+2;				}			}		}		if ($table_found == 0) {			/* This is table manipulation query, but table name missing in the array.				Need to add the new table */			$res = $this->simpleQuery("show tables");	        while (DB_OK === $this->fetchInto($res, $row, $fetchmode)) {				foreach ($row as $v) {					if (!isset($this->cached_tables[$v] ) ) {						$this->cached_tables[$v] = 0;					}				}			}		}		$this->writeCachedTables();	}	// }}}	//  {{{ checkCache()	/*	 *	This creates a hash of the query and checks if this hash is already saved. If yes,	 *	it takes the cached time. THen it loads the cached_tables hash and	 *	checks the tables in the query and determine the latest upate time for the	 *	table as given in the cached_tables hash is later than cached_time. If later, it	 *	proceeds with query and saves the result as hash. Otherwise, it takes the cached	 * data and returns	 */	 function checkCache($query)	 {		global $config;		if ($config['disable_cache'] == 'Y' || $config['disable_cache'] == '1' || (isset($_SESSION['AdminId']) && $_SESSION['AdminId'] > 0 )) {		/* Admin. should read data in any case, bypass cache */			return false;		}		/* For shoutbox, no cache file checkng.. */		if (substr_count(strtolower($query),strtolower(SHOUTBOX_TABLE)) > 0 | substr_count(strtolower($query),strtolower(INSTANT_MESSAGE_TABLE)) > 0 || substr_count(strtolower($query),strtolower(BANNER_TABLE)) > 0) {			return false;		}		$ismanip = $this->queryisManip($query);		if ($ismanip) {			$this->updateTableTimes($query);			return false;		}		/* First get all tables from the cached_tables hash */		$this->getAllCachedTables();		/* Get hash file name for the query */		$cached_file_name = $this->generateCacheFilename($query);	 	/* Now see if there is a hash for current query is svailable */		$cached_data = $this->getCachedData($cached_file_name);		if (!$cached_data || !is_array($cached_data) || empty($cached_data)) { return false; }		$cached_time = $cached_data['cached_time'];		$query = strtolower($query);		if (count($this->cached_tables) > 0) {			foreach ($this->cached_tables as $tab => $tm) {				if (substr_count($query,strtolower($tab)) > 0) {					if ($cached_time < $tm) {						$this->removeCacheFile($cached_file_name);						return false;					}				}			}		}		/* Cache is valid. return data */		return $cached_data['saved_data'];	 }	 // }}}	// {{{ saveCache()	/*	 *	This function will update the cached_tables file with latest update time.	 *  This will write the file with updated time	 *  @param the SQL Query, result of query	 *	 *	@access internal	 *  @return none	 */	function saveCache($query, $result) {		global $config;		if ($config['disable_cache'] == 'Y' || $config['disable_cache'] == '1' || $_SESSION['AdminId'] > 0) {			return true;		}		/* For shoutbox, no cache file checkng.. */		if (substr_count(strtolower($query),strtolower(SHOUTBOX_TABLE)) > 0 || substr_count(strtolower($query),strtolower(INSTANT_MESSAGE_TABLE)) > 0 || substr_count(strtolower($query),strtolower(BANNER_TABLE)) > 0) {			return true;		}		if ((!is_array($result) && $result != '') or( is_array($result) && count($result) > 0) ){			$cache_file = $this->generateCacheFilename($query);			$save_array = serialize(array(				'cached_time' => $this->get_micro_time1(),				'saved_data' => $result)				);			$fp = @fopen(CACHE_DIR.$cache_file,'wb');			@flock($fp,LOCK_EX);			@fwrite($fp,$save_array);			@flock($fp,LOCK_UN);			@fclose($fp);		}	}	// }}}	/* This function generates the file name for the cached item */	function generateCacheFilename($input)	{		return 'cache_'.md5($input).".dat";	}	/* Get microtime as table update time and cache time */	function get_micro_time1()	{/*		list($usec, $sec) = explode(" ", microtime());		return (float)($usec + $sec);		*/		return time();	}	/* This function gets the cache file for a given cached_file_name  and returns		data, and time of cache	*/	function getCachedData($cached_file_name){		global $config;		$cached_data = array();		if ($config['disable_cache'] == 'Y' || $config['disable_cache'] == '1' || (isset($_SESSION['AdminId']) && $_SESSION['AdminId'] > 0 ) ) {			return $cached_data;		}		if (file_exists(CACHE_DIR.$cached_file_name)) {			$cached_data = unserialize(file_get_contents(CACHE_DIR.$cached_file_name));		}		return $cached_data;	}	/* This function will remove the cacehd file from CACHE_DIR */	function removeCacheFile($cache_file_name) {		unlink(CACHE_DIR.$cache_file_name);	}    /**     * Tell whether a query is a data manipulation query (insert,     * update or delete) or a data definition query (create, drop,     * alter, grant, revoke).     *     * @access public     *     * @param string $query the query     *     * @return boolean whether $query is a data manipulation query     */    function queryisManip($query)    {        $manips = 'INSERT|UPDATE|DELETE|';        if (preg_match('/^\s*"?('.$manips.')\s+/i', strtoupper($query))) {            return true;        }        return false;    }	function dbconnect() {		if (!$this->_connected) {			$ret = $this->connect();			$this->_connected=true;			return $ret;		}	}}/* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */?>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品看片你懂得| 亚洲福利视频三区| 欧美三级蜜桃2在线观看| 久久99精品久久久久久| 亚洲视频在线一区| 精品久久久久久无| 91色porny在线视频| 久久机这里只有精品| 洋洋av久久久久久久一区| www久久精品| 欧美精品一级二级| 91色婷婷久久久久合中文| 国内精品视频666| 五月婷婷激情综合| 亚洲欧洲综合另类在线| 国产嫩草影院久久久久| 欧美一区欧美二区| 欧美唯美清纯偷拍| 91蜜桃网址入口| 成人av免费在线观看| 国内精品伊人久久久久影院对白| 亚洲一区二区视频在线| 国产日韩综合av| 精品88久久久久88久久久| 欧美精品三级日韩久久| 成人app网站| 国产乱一区二区| 精品一区二区三区在线播放视频| 亚洲成av人**亚洲成av**| 亚洲精品中文在线| 中文字幕在线观看一区| 国产精品免费久久| 久久精品视频一区二区| 国产色产综合产在线视频| 精品sm在线观看| 久久久久久久一区| 久久久久高清精品| 欧美成人aa大片| 精品国产青草久久久久福利| 精品国一区二区三区| 亚洲精品一区二区三区影院| 欧美一区二区啪啪| 亚洲精品一区在线观看| 2024国产精品视频| 久久久不卡网国产精品一区| 综合色天天鬼久久鬼色| 中文字幕免费观看一区| 国产精品视频免费| 中文字幕制服丝袜一区二区三区 | 91精品国产综合久久久久久| 欧美日韩一区二区三区免费看 | 欧美午夜精品电影| 欧美午夜理伦三级在线观看| 欧美久久一区二区| 日韩精品一区二区三区三区免费| 精品国产91亚洲一区二区三区婷婷| 亚洲精品一区二区三区在线观看| 久久亚洲精品国产精品紫薇| 欧美激情一区二区三区| 1024亚洲合集| 日韩精品免费专区| 国产精品中文字幕一区二区三区| 风间由美性色一区二区三区| 99精品一区二区| 欧美视频在线观看一区二区| 欧美一级理论性理论a| 久久久亚洲午夜电影| 亚洲色大成网站www久久九九| 亚洲蜜臀av乱码久久精品蜜桃| 天天色天天操综合| 国产精品一线二线三线| 91国在线观看| xfplay精品久久| 一区二区三区日韩| 另类中文字幕网| 成人深夜在线观看| 欧美日韩亚州综合| 国产日韩欧美在线一区| 亚洲美女淫视频| 美女久久久精品| 成人免费高清在线| 欧美精品xxxxbbbb| 国产日韩欧美高清在线| 亚洲成av人片一区二区| 大美女一区二区三区| 欧美午夜一区二区三区| 久久久精品影视| 亚洲国产色一区| 国产精品亚洲成人| 欧美色倩网站大全免费| 日本一区二区三区四区| 五月天一区二区| 99久久综合狠狠综合久久| 日韩小视频在线观看专区| 亚洲私人黄色宅男| 经典三级一区二区| 欧美系列在线观看| 亚洲视频一区在线观看| 国内精品不卡在线| 欧美一区二区久久| 亚洲综合色视频| 99久久99久久精品国产片果冻| 精品国产伦一区二区三区观看方式 | 色哟哟精品一区| 国产日韩视频一区二区三区| 日本一区中文字幕| 欧美午夜不卡视频| 国产专区综合网| 欧美剧在线免费观看网站| 最新日韩在线视频| 国产激情偷乱视频一区二区三区| 91精品国产色综合久久| 一区二区三区四区亚洲| 成人黄色国产精品网站大全在线免费观看| 制服丝袜亚洲精品中文字幕| 亚洲最新视频在线观看| www.欧美亚洲| 日本一区二区三区电影| 国产一区二区h| 精品国产亚洲一区二区三区在线观看| 天天射综合影视| 欧美人伦禁忌dvd放荡欲情| 亚洲激情图片小说视频| 972aa.com艺术欧美| 国产精品美女一区二区三区| 国产成人在线影院| 国产亚洲一二三区| 国产成人免费在线观看不卡| 久久综合网色—综合色88| 美女爽到高潮91| 日韩免费在线观看| 久久99国产精品久久99果冻传媒| 欧美一区二区在线不卡| 亚洲欧美日本韩国| 91婷婷韩国欧美一区二区| 自拍偷在线精品自拍偷无码专区 | 亚洲成人黄色小说| 精品污污网站免费看| 一区二区在线免费观看| 欧美在线免费观看视频| 夜夜嗨av一区二区三区中文字幕 | 亚洲国产电影在线观看| 成人精品免费视频| 日韩理论片在线| 色久综合一二码| 视频一区中文字幕| 欧美成人官网二区| 成人午夜av电影| 亚洲欧美偷拍卡通变态| 欧美美女网站色| 国内精品伊人久久久久av一坑| 久久久综合视频| 成人av影院在线| 亚洲一区二区欧美| 日韩欧美一区二区久久婷婷| 久久疯狂做爰流白浆xx| 国产欧美日韩综合| 色猫猫国产区一区二在线视频| 亚洲香蕉伊在人在线观| 日韩免费在线观看| www.激情成人| 午夜在线电影亚洲一区| 精品国产乱码久久久久久图片 | 成人黄色777网| 亚洲综合色自拍一区| 日韩欧美国产电影| 成人av综合在线| 亚洲国产精品一区二区久久| 日韩欧美一级二级| 成年人网站91| 日韩黄色片在线观看| 国产色一区二区| 精品视频免费看| 国产毛片精品视频| 樱花草国产18久久久久| 欧美成人一区二区三区片免费| 成人小视频在线| 午夜亚洲福利老司机| 国产丝袜欧美中文另类| 欧美三级中文字幕| 精品视频123区在线观看| 久99久精品视频免费观看| 亚洲色图制服诱惑| 欧美大度的电影原声| 成人激情黄色小说| 日韩av一区二区三区四区| 日本一区二区免费在线观看视频| 欧美午夜影院一区| 成人免费三级在线| 日本大胆欧美人术艺术动态| 国产精品久久久久影院| 欧美高清视频在线高清观看mv色露露十八| 国产伦精品一区二区三区视频青涩 | 精品一区二区国语对白| 亚洲精品网站在线观看| 2020国产精品自拍| 69精品人人人人| 91福利精品视频| 丁香六月综合激情| 久久精品免费观看|