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

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

?? adodb.inc.php

?? PhpWiki是sourceforge的一個開源項目
?? PHP
?? 第 1 頁 / 共 5 頁
字號:
			if (defined('ADODB_PEAR')) return ADODB_PEAR_Error();			else return false;				$arr =& $rs->GetArray();		$rs->Close();		return $arr;	}				/**	* Return one row of sql statement. Recordset is disposed for you.	*	* @param sql			SQL statement	* @param [inputarr]		input bind array	*/	function &GetRow($sql,$inputarr=false)	{	global $ADODB_COUNTRECS;		$crecs = $ADODB_COUNTRECS;		$ADODB_COUNTRECS = false;				$rs =& $this->Execute($sql,$inputarr);				$ADODB_COUNTRECS = $crecs;		if ($rs) {			if (!$rs->EOF) $arr = $rs->fields;			else $arr = array();			$rs->Close();			return $arr;		}				return false;	}		function &CacheGetRow($secs2cache,$sql=false,$inputarr=false)	{		$rs =& $this->CacheExecute($secs2cache,$sql,$inputarr);		if ($rs) {			$arr = false;			if (!$rs->EOF) $arr = $rs->fields;			$rs->Close();			return $arr;		}		return false;	}		/**	* Insert or replace a single record. Note: this is not the same as MySQL's replace. 	* ADOdb's Replace() uses update-insert semantics, not insert-delete-duplicates of MySQL.	* Also note that no table locking is done currently, so it is possible that the	* record be inserted twice by two programs...	*	* $this->Replace('products', array('prodname' =>"'Nails'","price" => 3.99), 'prodname');	*	* $table		table name	* $fieldArray	associative array of data (you must quote strings yourself).	* $keyCol		the primary key field name or if compound key, array of field names	* autoQuote		set to true to use a hueristic to quote strings. Works with nulls and numbers	*					but does not work with dates nor SQL functions.	* has_autoinc	the primary key is an auto-inc field, so skip in insert.	*	* Currently blob replace not supported	*	* returns 0 = fail, 1 = update, 2 = insert 	*/		function Replace($table, $fieldArray, $keyCol, $autoQuote=false, $has_autoinc=false)	{		global $ADODB_INCLUDED_LIB;		if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');				return _adodb_replace($this, $table, $fieldArray, $keyCol, $autoQuote, $has_autoinc);	}			/**	* Will select, getting rows from $offset (1-based), for $nrows. 	* This simulates the MySQL "select * from table limit $offset,$nrows" , and	* the PostgreSQL "select * from table limit $nrows offset $offset". Note that	* MySQL and PostgreSQL parameter ordering is the opposite of the other.	* eg. 	*  CacheSelectLimit(15,'select * from table',3); will return rows 1 to 3 (1-based)	*  CacheSelectLimit(15,'select * from table',3,2); will return rows 3 to 5 (1-based)	*	* BUG: Currently CacheSelectLimit fails with $sql with LIMIT or TOP clause already set	*	* @param [secs2cache]	seconds to cache data, set to 0 to force query. This is optional	* @param sql	* @param [offset]	is the row to start calculations from (1-based)	* @param [nrows]	is the number of rows to get	* @param [inputarr]	array of bind variables	* @return		the recordset ($rs->databaseType == 'array') 	*/	function &CacheSelectLimit($secs2cache,$sql,$nrows=-1,$offset=-1,$inputarr=false)	{			if (!is_numeric($secs2cache)) {			if ($sql === false) $sql = -1;			if ($offset == -1) $offset = false;									  // sql,	nrows, offset,inputarr			$rs =& $this->SelectLimit($secs2cache,$sql,$nrows,$offset,$this->cacheSecs);		} else {			if ($sql === false) ADOConnection::outp( "Warning: \$sql missing from CacheSelectLimit()");			$rs =& $this->SelectLimit($sql,$nrows,$offset,$inputarr,$secs2cache);		}		return $rs;	}		/**	* Flush cached recordsets that match a particular $sql statement. 	* If $sql == false, then we purge all files in the cache. 	*/	function CacheFlush($sql=false,$inputarr=false)	{	global $ADODB_CACHE_DIR;			if (strlen($ADODB_CACHE_DIR) > 1 && !$sql) {			if (strncmp(PHP_OS,'WIN',3) === 0) {				$cmd = 'del /s '.str_replace('/','\\',$ADODB_CACHE_DIR).'\adodb_*.cache';			} else {				$cmd = 'rm -rf '.$ADODB_CACHE_DIR.'/??/adodb_*.cache'; 				// old version 'rm -f `find '.$ADODB_CACHE_DIR.' -name adodb_*.cache`';			}			if ($this->debug) {				ADOConnection::outp( "CacheFlush: $cmd<br><pre>\n", system($cmd),"</pre>");			} else {				exec($cmd);			}			return;		} 		$f = $this->_gencachename($sql.serialize($inputarr),false);		adodb_write_file($f,''); // is adodb_write_file needed?		if (!@unlink($f)) {			if ($this->debug) ADOConnection::outp( "CacheFlush: failed for $f");		}	}		/**	* Private function to generate filename for caching.	* Filename is generated based on:	*	*  - sql statement	*  - database type (oci8, ibase, ifx, etc)	*  - database name	*  - userid	*	* We create 256 sub-directories in the cache directory ($ADODB_CACHE_DIR). 	* Assuming that we can have 50,000 files per directory with good performance, 	* then we can scale to 12.8 million unique cached recordsets. Wow! 	*/	function _gencachename($sql,$createdir)	{	global $ADODB_CACHE_DIR;				$m = md5($sql.$this->databaseType.$this->database.$this->user);		$dir = $ADODB_CACHE_DIR.'/'.substr($m,0,2);		if ($createdir && !file_exists($dir)) {			$oldu = umask(0);			if (!mkdir($dir,0771)) 				if ($this->debug) ADOConnection::outp( "Unable to mkdir $dir for $sql");			umask($oldu);		}		return $dir.'/adodb_'.$m.'.cache';	}			/**	 * Execute SQL, caching recordsets.	 *	 * @param [secs2cache]	seconds to cache data, set to 0 to force query. 	 *					  This is an optional parameter.	 * @param sql		SQL statement to execute	 * @param [inputarr]	holds the input data  to bind to	 * @return 		RecordSet or false	 */	function &CacheExecute($secs2cache,$sql=false,$inputarr=false)	{		if (!is_numeric($secs2cache)) {			$inputarr = $sql;			$sql = $secs2cache;			$secs2cache = $this->cacheSecs;		}		global $ADODB_INCLUDED_CSV;		if (empty($ADODB_INCLUDED_CSV)) include_once(ADODB_DIR.'/adodb-csvlib.inc.php');				if (is_array($sql)) $sql = $sql[0];					$md5file = $this->_gencachename($sql.serialize($inputarr),true);		$err = '';				if ($secs2cache > 0){			$rs = &csv2rs($md5file,$err,$secs2cache);			$this->numCacheHits += 1;		} else {			$err='Timeout 1';			$rs = false;			$this->numCacheMisses += 1;		}		if (!$rs) {		// no cached rs found			if ($this->debug) {				if (get_magic_quotes_runtime()) {					ADOConnection::outp("Please disable magic_quotes_runtime - it corrupts cache files :(");				}				if ($this->debug !== -1) ADOConnection::outp( " $md5file cache failure: $err (see sql below)");			}			$rs = &$this->Execute($sql,$inputarr);			if ($rs) {				$eof = $rs->EOF;				$rs = &$this->_rs2rs($rs); // read entire recordset into memory immediately				$txt = _rs2serialize($rs,false,$sql); // serialize						if (!adodb_write_file($md5file,$txt,$this->debug)) {					if ($fn = $this->raiseErrorFn) {						$fn($this->databaseType,'CacheExecute',-32000,"Cache write error",$md5file,$sql,$this);					}					if ($this->debug) ADOConnection::outp( " Cache write error");				}				if ($rs->EOF && !$eof) {					$rs->MoveFirst();					//$rs = &csv2rs($md5file,$err);							$rs->connection = &$this; // Pablo suggestion				}  							} else				@unlink($md5file);		} else {			$this->_errorMsg = '';			$this->_errorCode = 0;						if ($this->fnCacheExecute) {				$fn = $this->fnCacheExecute;				$fn($this, $secs2cache, $sql, $inputarr);			}		// ok, set cached object found			$rs->connection = &$this; // Pablo suggestion			if ($this->debug){ 			global $HTTP_SERVER_VARS;									$inBrowser = isset($HTTP_SERVER_VARS['HTTP_USER_AGENT']);				$ttl = $rs->timeCreated + $secs2cache - time();				$s = is_array($sql) ? $sql[0] : $sql;				if ($inBrowser) $s = '<i>'.htmlspecialchars($s).'</i>';								ADOConnection::outp( " $md5file reloaded, ttl=$ttl [ $s ]");			}		}		return $rs;	}			/**	 * Generates an Update Query based on an existing recordset.	 * $arrFields is an associative array of fields with the value	 * that should be assigned.	 *	 * Note: This function should only be used on a recordset	 *	   that is run against a single table and sql should only 	 *		 be a simple select stmt with no groupby/orderby/limit	 *	 * "Jonathan Younger" <jyounger@unilab.com>  	 */	function GetUpdateSQL(&$rs, $arrFields,$forceUpdate=false,$magicq=false)	{		global $ADODB_INCLUDED_LIB;		if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');		return _adodb_getupdatesql($this,$rs,$arrFields,$forceUpdate,$magicq);	}	/**	 * Generates an Insert Query based on an existing recordset.	 * $arrFields is an associative array of fields with the value	 * that should be assigned.	 *	 * Note: This function should only be used on a recordset	 *	   that is run against a single table.  	 */	function GetInsertSQL(&$rs, $arrFields,$magicq=false)	{			global $ADODB_INCLUDED_LIB;		if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');		return _adodb_getinsertsql($this,$rs,$arrFields,$magicq);	}		/**	* Update a blob column, given a where clause. There are more sophisticated	* blob handling functions that we could have implemented, but all require	* a very complex API. Instead we have chosen something that is extremely	* simple to understand and use. 	*	* Note: $blobtype supports 'BLOB' and 'CLOB', default is BLOB of course.	*	* Usage to update a $blobvalue which has a primary key blob_id=1 into a 	* field blobtable.blobcolumn:	*	*	UpdateBlob('blobtable', 'blobcolumn', $blobvalue, 'blob_id=1');	*	* Insert example:	*	*	$conn->Execute('INSERT INTO blobtable (id, blobcol) VALUES (1, null)');	*	$conn->UpdateBlob('blobtable','blobcol',$blob,'id=1');	*/		function UpdateBlob($table,$column,$val,$where,$blobtype='BLOB')	{		return $this->Execute("UPDATE $table SET $column=? WHERE $where",array($val)) != false;	}	/**	* Usage:	*	UpdateBlob('TABLE', 'COLUMN', '/path/to/file', 'ID=1');	*		*	$blobtype supports 'BLOB' and 'CLOB'	*	*	$conn->Execute('INSERT INTO blobtable (id, blobcol) VALUES (1, null)');	*	$conn->UpdateBlob('blobtable','blobcol',$blobpath,'id=1');	*/	function UpdateBlobFile($table,$column,$path,$where,$blobtype='BLOB')	{		$fd = fopen($path,'rb');		if ($fd === false) return false;		$val = fread($fd,filesize($path));		fclose($fd);		return $this->UpdateBlob($table,$column,$val,$where,$blobtype);	}		function BlobDecode($blob)	{		return $blob;	}		function BlobEncode($blob)	{		return $blob;	}		function SetCharSet($charset)	{		return false;	}		function IfNull( $field, $ifNull ) 	{		return " CASE WHEN $field is null THEN $ifNull ELSE $field END ";	}		function LogSQL($enable=true)	{		include_once(ADODB_DIR.'/adodb-perf.inc.php');				if ($enable) $this->fnExecute = 'adodb_log_sql';		else $this->fnExecute = false;				$old = $this->_logsql;			$this->_logsql = $enable;		if ($enable && !$old) $this->_affected = false;		return $old;	}		function GetCharSet()	{		return false;	}		/**	* Usage:	*	UpdateClob('TABLE', 'COLUMN', $var, 'ID=1', 'CLOB');	*	*	$conn->Execute('INSERT INTO clobtable (id, clobcol) VALUES (1, null)');	*	$conn->UpdateClob('clobtable','clobcol',$clob,'id=1');	*/	function UpdateClob($table,$column,$val,$where)	{		return $this->UpdateBlob($table,$column,$val,$where,'CLOB');	}			/**	*  Change the SQL connection locale to a specified locale.	*  This is used to get the date formats written depending on the client locale.	*/	function SetDateLocale($locale = 'En')	{		$this->locale = $locale;		switch ($locale)		{			default:			case 'En':				$this->fmtDate="Y-m-d";				$this->fmtTimeStamp = "Y-m-d H:i:s";				break;				case 'Fr':			case 'Ro':			case 'It':				$this->fmtDate="d-m-Y";				$this->fmtTimeStamp = "d-m-Y H:i:s";				break;							case 'Ge':				$this->fmtDate="d.m.Y";				$this->fmtTimeStamp = "d.m.Y H:i:s";				break;		}	}			/**	 *  $meta	contains the desired type, which could be...	 *	C for character. You will have to define the precision yourself.	 *	X for teXt. For unlimited character lengths.	 *	B for Binary	 *  F for floating point, with no need to define scale and precision	 * 	N for decimal numbers, you will have to define the (scale, precision) yourself	 *	D for date	 *	T for timestamp	 * 	L for logical/Boolean	 *	I for integer	 *	R for autoincrement counter/integer	 *  and if you want to use double-byte, add a 2 to the end, like C2 or X2.	 * 	 *	 * @return the actual type of the data or false if no such type available	*/ 	function ActualType($meta)	{		switch($meta) {		case 'C':		case 'X':			return 'VARCHAR';		case 'B':					case 'D':		case 'T':		case 'L':				case 'R':					case 'I':		case 'N':			return false;		}	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人精品亚洲日本在线桃色| 日韩欧美激情一区| 中文字幕 久热精品 视频在线| 精品一区二区日韩| 精品久久五月天| 国产一区二区三区四区在线观看| 精品国产制服丝袜高跟| 九九**精品视频免费播放| xfplay精品久久| 丰满少妇久久久久久久| 国产精品久久久久久久久晋中| 91丨国产丨九色丨pron| 一个色在线综合| 欧美一个色资源| 国产一区二区三区国产| 最近中文字幕一区二区三区| 欧美性猛交xxxxxx富婆| 免费一级欧美片在线观看| 久久综合九色综合久久久精品综合| 国产精品一区二区久激情瑜伽| 国产精品久久久久国产精品日日| 亚洲免费在线视频一区 二区| 国产美女一区二区| 国产精品久久久久三级| 在线看日韩精品电影| 日韩vs国产vs欧美| 一区二区日韩av| 精品国产免费一区二区三区香蕉| 成人动漫一区二区在线| 亚洲不卡在线观看| 久久久美女毛片| 在线观看亚洲精品视频| 麻豆国产欧美一区二区三区| 欧美国产欧美综合| 在线看日本不卡| 激情欧美一区二区| 亚洲一二三四区| 国产免费久久精品| 在线综合+亚洲+欧美中文字幕| 国产麻豆精品在线观看| 亚洲一级不卡视频| 日本一二三不卡| 欧美一区二区三区在线视频 | 26uuu亚洲| 在线观看欧美精品| 国产成人精品一区二| 蜜臀久久99精品久久久久宅男| 亚洲欧洲日韩av| 久久久国产午夜精品| 在线91免费看| 欧美偷拍一区二区| 成人丝袜18视频在线观看| 久久99精品久久久| 亚洲一区二区三区四区不卡| 日韩欧美二区三区| 欧美日韩国产小视频在线观看| 国产美女在线观看一区| 六月婷婷色综合| 欧美久久久久久蜜桃| 午夜久久电影网| 欧美精品一区二区三区四区 | 色综合中文字幕国产| 欧美在线短视频| 久久久久九九视频| 免费观看久久久4p| 精品国产乱码久久久久久图片 | 国产精品激情偷乱一区二区∴| 国产精品色在线| 国产精品白丝jk白祙喷水网站| 亚洲国产成人一区二区三区| 欧美视频第二页| 亚洲私人黄色宅男| 99免费精品视频| 欧美日本国产一区| 欧美一区二区在线免费播放| 一区二区三区蜜桃网| 青青青伊人色综合久久| 欧美日韩国产综合视频在线观看| 免费xxxx性欧美18vr| 久久久久久黄色| 欧美精品v日韩精品v韩国精品v| 精品一区精品二区高清| 亚洲免费av高清| 久久久久久**毛片大全| 国产iv一区二区三区| 午夜影院在线观看欧美| 制服丝袜av成人在线看| 国产精品88888| 国产99一区视频免费| 国产大陆亚洲精品国产| 成人黄页在线观看| 97精品国产露脸对白| 日本精品一级二级| 欧美日韩视频一区二区| 欧美一区二区三区公司| 精品三级在线观看| 国产日产欧美一区| 亚洲天堂免费看| 亚洲国产欧美日韩另类综合| 国产精品2024| 豆国产96在线|亚洲| 91偷拍与自偷拍精品| 欧美视频日韩视频在线观看| 欧美一区二区三区四区视频| 2021国产精品久久精品| 国产精品国产三级国产| 亚洲成人av中文| 精品一区二区三区欧美| 99久久综合99久久综合网站| 欧美亚洲综合在线| 精品国产免费视频| 亚洲色图一区二区三区| 日本aⅴ免费视频一区二区三区| 国产在线观看一区二区 | 亚洲成人久久影院| 国产在线精品一区二区不卡了| 成人永久免费视频| 欧美日韩一区在线观看| 青青国产91久久久久久| 久久这里都是精品| 亚洲人成人一区二区在线观看| 日韩高清在线观看| 丰满白嫩尤物一区二区| 欧美日韩午夜影院| 欧美国产激情一区二区三区蜜月| 一区二区在线免费| 国产精品一卡二卡| 欧美天堂一区二区三区| 亚洲国产精品精华液2区45| 视频一区视频二区中文| 久久久久高清精品| 亚洲超碰精品一区二区| 成人av在线网| 欧美一级免费大片| 亚洲人成人一区二区在线观看 | jizz一区二区| 精品久久人人做人人爽| 亚洲精品免费一二三区| 国产精品中文欧美| 日韩一区二区免费电影| 亚洲激情图片一区| 国产99精品国产| 日韩一级免费观看| 亚洲国产中文字幕在线视频综合| 高清不卡在线观看| 久久婷婷国产综合国色天香| 日本欧美一区二区| 欧美视频一区二区三区在线观看| 中文字幕国产一区二区| 国内精品嫩模私拍在线| 欧美一区二区网站| 婷婷中文字幕综合| 91蝌蚪porny成人天涯| 亚洲国产精品99久久久久久久久 | 国产馆精品极品| 日韩欧美在线综合网| 天天亚洲美女在线视频| 97久久久精品综合88久久| 国产亚洲综合av| 国产老妇另类xxxxx| 精品国产乱码91久久久久久网站| 日韩成人午夜精品| 欧美日韩国产一二三| 亚洲国产日韩一级| 欧美色国产精品| 亚洲一二三四区不卡| 欧美体内she精高潮| 亚洲午夜激情av| 欧美精品视频www在线观看| 亚洲一级二级三级| 欧美高清视频www夜色资源网| 亚洲尤物在线视频观看| 欧美三区在线观看| 婷婷成人综合网| 欧美一级精品在线| 激情另类小说区图片区视频区| xf在线a精品一区二区视频网站| 国内成人精品2018免费看| 久久久久免费观看| 成人网男人的天堂| 亚洲人午夜精品天堂一二香蕉| 色爱区综合激月婷婷| 亚洲成人激情自拍| 日韩美一区二区三区| 激情综合五月婷婷| 国产精品视频线看| 色综合久久中文字幕| 亚洲va欧美va国产va天堂影院| 在线播放/欧美激情| 精品一区二区影视| 国产精品美女视频| 欧美性极品少妇| 极品美女销魂一区二区三区| 国产精品福利在线播放| 在线观看91精品国产入口| 日本欧美在线看| 国产精品私人影院| 欧美精品三级日韩久久| 国产精品一区一区| 亚洲美女少妇撒尿|