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

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

?? adodb.inc.php

?? PhpWiki是sourceforge的一個開源項目
?? PHP
?? 第 1 頁 / 共 5 頁
字號:
	// Format date column in sql string given an input format that understands Y M D	function SQLDate($fmt, $col=false)	{			if (!$col) $col = $this->sysDate;		return $col; // child class implement	}		/**	 * Should prepare the sql statement and return the stmt resource.	 * For databases that do not support this, we return the $sql. To ensure	 * compatibility with databases that do not support prepare:	 *	 *   $stmt = $db->Prepare("insert into table (id, name) values (?,?)");	 *   $db->Execute($stmt,array(1,'Jill')) or die('insert failed');	 *   $db->Execute($stmt,array(2,'Joe')) or die('insert failed');	 *	 * @param sql	SQL to send to database	 *	 * @return return FALSE, or the prepared statement, or the original sql if	 * 			if the database does not support prepare.	 *	 */		function Prepare($sql)	{		return $sql;	}	/**	 * Some databases, eg. mssql require a different function for preparing	 * stored procedures. So we cannot use Prepare().	 *	 * Should prepare the stored procedure  and return the stmt resource.	 * For databases that do not support this, we return the $sql. To ensure	 * compatibility with databases that do not support prepare:	 *	 * @param sql	SQL to send to database	 *	 * @return return FALSE, or the prepared statement, or the original sql if	 * 			if the database does not support prepare.	 *	 */		function PrepareSP($sql,$param=true)	{		return $this->Prepare($sql,$param);	}		/**	* PEAR DB Compat	*/	function Quote($s)	{		return $this->qstr($s,false);	}		/**	 Requested by "Karsten Dambekalns" <k.dambekalns@fishfarm.de>	*/	function QMagic($s)	{		return $this->qstr($s,get_magic_quotes_gpc());	}	function q(&$s)	{		$s = $this->qstr($s,false);	}		/**	* PEAR DB Compat - do not use internally. 	*/	function ErrorNative()	{		return $this->ErrorNo();	}	   /**	* PEAR DB Compat - do not use internally. 	*/	function nextId($seq_name)	{		return $this->GenID($seq_name);	}	/**	*	 Lock a row, will escalate and lock the table if row locking not supported	*	will normally free the lock at the end of the transaction	*	*  @param $table	name of table to lock	*  @param $where	where clause to use, eg: "WHERE row=12". If left empty, will escalate to table lock	*/	function RowLock($table,$where)	{		return false;	}		function CommitLock($table)	{		return $this->CommitTrans();	}		function RollbackLock($table)	{		return $this->RollbackTrans();	}		/**	* PEAR DB Compat - do not use internally. 	*	* The fetch modes for NUMERIC and ASSOC for PEAR DB and ADODB are identical	* 	for easy porting :-)	*	* @param mode	The fetchmode ADODB_FETCH_ASSOC or ADODB_FETCH_NUM	* @returns		The previous fetch mode	*/	function SetFetchMode($mode)	{			$old = $this->fetchMode;		$this->fetchMode = $mode;				if ($old === false) {		global $ADODB_FETCH_MODE;			return $ADODB_FETCH_MODE;		}		return $old;	}		/**	* PEAR DB Compat - do not use internally. 	*/	function &Query($sql, $inputarr=false)	{		$rs = &$this->Execute($sql, $inputarr);		if (!$rs && defined('ADODB_PEAR')) return ADODB_PEAR_Error();		return $rs;	}		/**	* PEAR DB Compat - do not use internally	*/	function &LimitQuery($sql, $offset, $count, $params=false)	{		$rs = &$this->SelectLimit($sql, $count, $offset, $params); 		if (!$rs && defined('ADODB_PEAR')) return ADODB_PEAR_Error();		return $rs;	}		/**	* PEAR DB Compat - do not use internally	*/	function Disconnect()	{		return $this->Close();	}		/*		 Returns placeholder for parameter, eg.		 $DB->Param('a')		 		 will return ':a' for Oracle, and '?' for most other databases...		 		 For databases that require positioned params, eg $1, $2, $3 for postgresql,		 	pass in Param(false) before setting the first parameter.	*/	function Param($name)	{		return '?';	}		/*		InParameter and OutParameter are self-documenting versions of Parameter().	*/	function InParameter(&$stmt,&$var,$name,$maxLen=4000,$type=false)	{		return $this->Parameter($stmt,$var,$name,false,$maxLen,$type);	}		/*	*/	function OutParameter(&$stmt,&$var,$name,$maxLen=4000,$type=false)	{		return $this->Parameter($stmt,$var,$name,true,$maxLen,$type);		}		/* 	Usage in oracle		$stmt = $db->Prepare('select * from table where id =:myid and group=:group');		$db->Parameter($stmt,$id,'myid');		$db->Parameter($stmt,$group,'group',64);		$db->Execute();				@param $stmt Statement returned by Prepare() or PrepareSP().		@param $var PHP variable to bind to		@param $name Name of stored procedure variable name to bind to.		@param [$isOutput] Indicates direction of parameter 0/false=IN  1=OUT  2= IN/OUT. This is ignored in oci8.		@param [$maxLen] Holds an maximum length of the variable.		@param [$type] The data type of $var. Legal values depend on driver.	*/	function Parameter(&$stmt,&$var,$name,$isOutput=false,$maxLen=4000,$type=false)	{		return false;	}		/**		Improved method of initiating a transaction. Used together with CompleteTrans().		Advantages include:				a. StartTrans/CompleteTrans is nestable, unlike BeginTrans/CommitTrans/RollbackTrans.		   Only the outermost block is treated as a transaction.<br>		b. CompleteTrans auto-detects SQL errors, and will rollback on errors, commit otherwise.<br>		c. All BeginTrans/CommitTrans/RollbackTrans inside a StartTrans/CompleteTrans block		   are disabled, making it backward compatible.	*/	function StartTrans($errfn = 'ADODB_TransMonitor')	{		if ($this->transOff > 0) {			$this->transOff += 1;			return;		}				$this->_oldRaiseFn = $this->raiseErrorFn;		$this->raiseErrorFn = $errfn;		$this->_transOK = true;				if ($this->debug && $this->transCnt > 0) ADOConnection::outp("Bad Transaction: StartTrans called within BeginTrans");		$this->BeginTrans();		$this->transOff = 1;	}		/**		Used together with StartTrans() to end a transaction. Monitors connection		for sql errors, and will commit or rollback as appropriate.				@autoComplete if true, monitor sql errors and commit and rollback as appropriate, 		and if set to false force rollback even if no SQL error detected.		@returns true on commit, false on rollback.	*/	function CompleteTrans($autoComplete = true)	{		if ($this->transOff > 1) {			$this->transOff -= 1;			return true;		}		$this->raiseErrorFn = $this->_oldRaiseFn;				$this->transOff = 0;		if ($this->_transOK && $autoComplete) {			if (!$this->CommitTrans()) {				$this->_transOK = false;				if ($this->debug) ADOConnection::outp("Smart Commit failed");			} else				if ($this->debug) ADOConnection::outp("Smart Commit occurred");		} else {			$this->RollbackTrans();			if ($this->debug) ADOCOnnection::outp("Smart Rollback occurred");		}				return $this->_transOK;	}		/*		At the end of a StartTrans/CompleteTrans block, perform a rollback.	*/	function FailTrans()	{		if ($this->debug) 			if ($this->transOff == 0) {				ADOConnection::outp("FailTrans outside StartTrans/CompleteTrans");			} else {				ADOConnection::outp("FailTrans was called");				adodb_backtrace();			}		$this->_transOK = false;	}		/**		Check if transaction has failed, only for Smart Transactions.	*/	function HasFailedTrans()	{		if ($this->transOff > 0) return $this->_transOK == false;		return false;	}		/**	 * Execute SQL 	 *	 * @param sql		SQL statement to execute, or possibly an array holding prepared statement ($sql[0] will hold sql text)	 * @param [inputarr]	holds the input data to bind to. Null elements will be set to null.	 * @return 		RecordSet or false	 */	function &Execute($sql,$inputarr=false) 	{		if ($this->fnExecute) {			$fn = $this->fnExecute;			$ret =& $fn($this,$sql,$inputarr);			if (isset($ret)) return $ret;		}		if ($inputarr && is_array($inputarr)) {			$element0 = reset($inputarr);			# is_object check is because oci8 descriptors can be passed in			$array_2d = is_array($element0) && !is_object(reset($element0));						if (!is_array($sql) && !$this->_bindInputArray) {				$sqlarr = explode('?',$sql);									if (!$array_2d) $inputarr = array($inputarr);				foreach($inputarr as $arr) {					$sql = ''; $i = 0;					foreach($arr as $v) {						$sql .= $sqlarr[$i];						// from Ron Baldwin <ron.baldwin@sourceprose.com>						// Only quote string types							if (gettype($v) == 'string')							$sql .= $this->qstr($v);						else if ($v === null)							$sql .= 'NULL';						else							$sql .= $v;						$i += 1;					}					$sql .= $sqlarr[$i];										if ($i+1 != sizeof($sqlarr))							ADOConnection::outp( "Input Array does not match ?: ".htmlspecialchars($sql));							$ret =& $this->_Execute($sql,false);					if (!$ret) return $ret;				}				} else {				if ($array_2d) {					$stmt = $this->Prepare($sql);					foreach($inputarr as $arr) {						$ret =& $this->_Execute($stmt,$arr);						if (!$ret) return $ret;					}				} else					$ret =& $this->_Execute($sql,$inputarr);			}		} else {			$ret =& $this->_Execute($sql,false);		}		return $ret;	}		function& _Execute($sql,$inputarr=false)	{		if ($this->debug) {		global $HTTP_SERVER_VARS;					$ss = '';			if ($inputarr) {				foreach($inputarr as $kk=>$vv) {					if (is_string($vv) && strlen($vv)>64) $vv = substr($vv,0,64).'...';					$ss .= "($kk=>'$vv') ";				}				$ss = "[ $ss ]";			}			$sqlTxt = str_replace(',',', ',is_array($sql) ?$sql[0] : $sql);						// check if running from browser or command-line			$inBrowser = isset($HTTP_SERVER_VARS['HTTP_USER_AGENT']);						if ($inBrowser) {				if ($this->debug === -1)					ADOConnection::outp( "<br>\n($this->databaseType): ".htmlspecialchars($sqlTxt)." &nbsp; <code>$ss</code>\n<br>\n",false);				else 					ADOConnection::outp( "<hr>\n($this->databaseType): ".htmlspecialchars($sqlTxt)." &nbsp; <code>$ss</code>\n<hr>\n",false);			} else {				ADOConnection::outp("-----\n($this->databaseType): ".($sqlTxt)." \n-----\n",false);			}			$this->_queryID = $this->_query($sql,$inputarr);			/* 				Alexios Fakios notes that ErrorMsg() must be called before ErrorNo() for mssql				because ErrorNo() calls Execute('SELECT @ERROR'), causing recursion			*/			if ($this->databaseType == 'mssql') { 			// ErrorNo is a slow function call in mssql, and not reliable in PHP 4.0.6				if($emsg = $this->ErrorMsg()) {					if ($err = $this->ErrorNo()) ADOConnection::outp($err.': '.$emsg);				}			} else if (!$this->_queryID) {				ADOConnection::outp($this->ErrorNo() .': '. $this->ErrorMsg());			}			} else {			//****************************			// non-debug version of query			//****************************						$this->_queryID =@$this->_query($sql,$inputarr);		}				/************************		// OK, query executed		*************************/		if ($this->_queryID === false) {		// error handling if query fails			if ($this->debug == 99) adodb_backtrace(true,5);				$fn = $this->raiseErrorFn;			if ($fn) {				$fn($this->databaseType,'EXECUTE',$this->ErrorNo(),$this->ErrorMsg(),$sql,$inputarr,$this);			} 							return false;		} 						if ($this->_queryID === true) {		// return simplified empty recordset for inserts/updates/deletes with lower overhead			$rs =& new ADORecordSet_empty();			return $rs;		}				// return real recordset from select statement		$rsclass = $this->rsPrefix.$this->databaseType;		$rs =& new $rsclass($this->_queryID,$this->fetchMode);		$rs->connection = &$this; // Pablo suggestion		$rs->Init();		if (is_array($sql)) $rs->sql = $sql[0];		else $rs->sql = $sql;		if ($rs->_numOfRows <= 0) {		global $ADODB_COUNTRECS;				if ($ADODB_COUNTRECS) {				if (!$rs->EOF){ 					$rs = &$this->_rs2rs($rs,-1,-1,!is_array($sql));					$rs->_queryID = $this->_queryID;				} else					$rs->_numOfRows = 0;			}		}		return $rs;	}	function CreateSequence($seqname='adodbseq',$startID=1)	{		if (empty($this->_genSeqSQL)) return false;		return $this->Execute(sprintf($this->_genSeqSQL,$seqname,$startID));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品二区亚洲w码| 一区二区三区免费| 日韩欧美视频在线| 在线不卡免费av| 欧美久久一二区| 91精品婷婷国产综合久久竹菊| 欧美亚日韩国产aⅴ精品中极品| 日本乱人伦aⅴ精品| 欧美午夜一区二区三区| 欧美性猛片aaaaaaa做受| 欧美三级韩国三级日本三斤| 欧美高清视频www夜色资源网| 欧美日韩精品一区二区| 555夜色666亚洲国产免| 欧美精品一区二区精品网| 精品国产免费人成电影在线观看四季| 日韩欧美国产wwwww| 精品人在线二区三区| 中文字幕不卡在线观看| 亚洲欧美日韩一区二区| 日韩电影在线一区二区| 韩日av一区二区| 99久久综合99久久综合网站| 欧美亚洲日本国产| 欧美精品一区二区三区在线 | 9人人澡人人爽人人精品| 91一区二区三区在线观看| 在线免费观看日本欧美| 日韩一区二区三区在线| 国产精品视频一二三| 亚洲一区二区三区四区在线| 久久99久久99精品免视看婷婷| 高清在线观看日韩| 欧美日韩在线不卡| 国产网红主播福利一区二区| 亚洲一区二区在线免费观看视频| 开心九九激情九九欧美日韩精美视频电影| 国产精品99久久久久久久vr| 在线视频国内自拍亚洲视频| 欧美xxxxx裸体时装秀| 亚洲天堂a在线| 国内成人免费视频| 欧美色精品天天在线观看视频| 亚洲精品一区二区三区99| 一二三四区精品视频| 国产福利精品导航| 制服.丝袜.亚洲.另类.中文 | 91黄色免费看| 日本一区二区三区视频视频| 天堂一区二区在线免费观看| 成a人片国产精品| 26uuu亚洲综合色欧美| 亚洲国产精品影院| av在线播放一区二区三区| 精品国产一区二区三区久久久蜜月| 亚洲男同性恋视频| 成人国产精品免费网站| 久久这里只有精品6| 日韩电影在线免费观看| 欧美天堂一区二区三区| 亚洲欧美日韩国产手机在线| 国产成人免费在线视频| 精品少妇一区二区三区日产乱码 | 欧美激情一区三区| 久久97超碰色| www激情久久| 亚洲大片一区二区三区| 色狠狠色狠狠综合| 亚洲精品国产高清久久伦理二区| 粉嫩在线一区二区三区视频| 精品久久五月天| 久久99精品国产麻豆婷婷| 日韩一区二区三区免费观看| 五月天激情综合| 欧美精品丝袜中出| 午夜一区二区三区视频| 欧美日韩高清一区| 性做久久久久久免费观看| 欧美三级资源在线| 日韩中文字幕1| 欧美一区二区成人6969| 另类成人小视频在线| 精品国产电影一区二区| 国产精品1区2区3区在线观看| 2023国产一二三区日本精品2022| 精品一区二区三区欧美| 久久毛片高清国产| 成人av网站免费| 亚洲激情成人在线| 欧美一区二区三区四区视频| 精品夜夜嗨av一区二区三区| 亚洲精品在线观看网站| 成人影视亚洲图片在线| 亚洲少妇屁股交4| 欧美老年两性高潮| 国模娜娜一区二区三区| 国产精品每日更新| 精品视频在线看| 久久丁香综合五月国产三级网站| 久久久另类综合| 91在线视频免费91| 亚洲chinese男男1069| 亚洲精品一区二区三区香蕉 | 在线观看欧美精品| 蜜桃av噜噜一区| 日本一区二区三区国色天香| 91论坛在线播放| 蜜桃在线一区二区三区| 婷婷综合在线观看| 精品播放一区二区| 一本一道波多野结衣一区二区| 五月天激情综合网| 国产精品久久久久天堂| 91精品国产一区二区三区| 成人黄色在线看| 首页国产欧美日韩丝袜| 中文字幕免费在线观看视频一区| 欧美三级日韩在线| 成人伦理片在线| 蜜桃视频一区二区| 亚洲影视在线观看| 日本一区二区免费在线| 91精品国产乱码久久蜜臀| 波多野结衣在线一区| 男女性色大片免费观看一区二区| 国产精品传媒入口麻豆| 精品国产a毛片| 欧美一区二区三区爱爱| 91视频国产资源| 国产99久久久国产精品| 毛片av一区二区三区| 亚洲一区二区三区视频在线播放 | 日韩欧美电影一区| 欧美性受xxxx| 91一区在线观看| 国产suv精品一区二区三区| 美腿丝袜亚洲综合| 天天做天天摸天天爽国产一区| 国产精品乱码一区二区三区软件| 精品美女一区二区| 91精品国产品国语在线不卡| 欧美中文字幕一区| 91啪亚洲精品| 成人午夜短视频| 国产精品香蕉一区二区三区| 毛片av一区二区三区| 三级欧美韩日大片在线看| 亚洲综合无码一区二区| 日韩码欧中文字| 中文字幕综合网| 亚洲免费视频中文字幕| 婷婷综合五月天| 香蕉成人啪国产精品视频综合网 | 全国精品久久少妇| 婷婷中文字幕综合| 午夜激情综合网| 三级久久三级久久久| 蜜桃久久精品一区二区| 日韩不卡一二三区| 久久99国内精品| 国产福利精品一区| voyeur盗摄精品| 91国模大尺度私拍在线视频| 欧美视频精品在线观看| 欧美群妇大交群的观看方式 | 蜜桃久久精品一区二区| 美女诱惑一区二区| 国产一区二区三区视频在线播放| 国产九色sp调教91| eeuss鲁片一区二区三区在线看| 91在线精品一区二区| 欧美日韩一区 二区 三区 久久精品| 精品污污网站免费看| 精品乱码亚洲一区二区不卡| 久久精品免视看| 亚洲精品日日夜夜| 奇米在线7777在线精品| 国产精品一线二线三线| 一道本成人在线| 日韩视频免费直播| 国产精品久久久久一区二区三区共| 亚洲欧美日韩在线| 日本美女视频一区二区| 成人性生交大合| 欧美色国产精品| 久久久99精品免费观看| 一区二区三区中文字幕| 久久国产精品第一页| av欧美精品.com| 日韩一级免费观看| 亚洲人吸女人奶水| 日本三级韩国三级欧美三级| 国产成人99久久亚洲综合精品| 欧美午夜不卡在线观看免费| 精品国产成人在线影院 | 日本中文字幕一区| 成人动漫视频在线| 日韩欧美www| 一区二区三区在线影院| 国产精品系列在线观看|