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

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

?? adodb-odbc.inc.php

?? PhpWiki是sourceforge的一個開源項目
?? PHP
?? 第 1 頁 / 共 2 頁
字號:
	{	global $ADODB_FETCH_MODE;			$table = strtoupper($table);		$schema = false;		$this->_findschema($table,$schema);				$savem = $ADODB_FETCH_MODE;		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;			if (false) { // after testing, confirmed that the following does not work becoz of a bug			$qid2 = odbc_tables($this->_connectionID);			$rs = new ADORecordSet_odbc($qid2);					$ADODB_FETCH_MODE = $savem;			if (!$rs) return false;			$rs->_has_stupid_odbc_fetch_api_change = $this->_has_stupid_odbc_fetch_api_change;			$rs->_fetch();						while (!$rs->EOF) {				if ($table == strtoupper($rs->fields[2])) {					$q = $rs->fields[0];					$o = $rs->fields[1];					break;				}				$rs->MoveNext();			}			$rs->Close();						$qid = odbc_columns($this->_connectionID,$q,$o,strtoupper($table),'%');		} else switch ($this->databaseType) {		case 'access':		case 'vfp':		case 'db2':			$qid = odbc_columns($this->_connectionID);			break;					default:			$qid = @odbc_columns($this->_connectionID,'%','%',strtoupper($table),'%');			if (empty($qid)) $qid = odbc_columns($this->_connectionID);			break;		}		if (empty($qid)) return false;				$rs = new ADORecordSet_odbc($qid);		$ADODB_FETCH_MODE = $savem;				if (!$rs) return false;				$rs->_has_stupid_odbc_fetch_api_change = $this->_has_stupid_odbc_fetch_api_change;		$rs->_fetch();		$retarr = array();				/*		$rs->fields indices		0 TABLE_QUALIFIER		1 TABLE_SCHEM		2 TABLE_NAME		3 COLUMN_NAME		4 DATA_TYPE		5 TYPE_NAME		6 PRECISION		7 LENGTH		8 SCALE		9 RADIX		10 NULLABLE		11 REMARKS		*/		while (!$rs->EOF) {			//adodb_pr($rs->fields);			if (strtoupper($rs->fields[2]) == $table && (!$schema || strtoupper($rs->fields[1]) == $schema)) {				$fld = new ADOFieldObject();				$fld->name = $rs->fields[3];				$fld->type = $this->ODBCTypes($rs->fields[4]);								// ref: http://msdn.microsoft.com/library/default.asp?url=/archive/en-us/dnaraccgen/html/msdn_odk.asp				// access uses precision to store length for char/varchar				if ($fld->type == 'C' or $fld->type == 'X') {					if ($this->databaseType == 'access') 						$fld->max_length = $rs->fields[6];					else if ($rs->fields[4] <= -95) // UNICODE						$fld->max_length = $rs->fields[7]/2;					else						$fld->max_length = $rs->fields[7];				} else 					$fld->max_length = $rs->fields[7];				$fld->not_null = !empty($rs->fields[10]);				$fld->scale = $rs->fields[8];				$retarr[strtoupper($fld->name)] = $fld;				} else if (sizeof($retarr)>0)				break;			$rs->MoveNext();		}		$rs->Close(); //-- crashes 4.03pl1 -- why?				return $retarr;	}		function Prepare($sql)	{		if (! $this->_bindInputArray) return $sql; // no binding		$stmt = odbc_prepare($this->_connectionID,$sql);		if (!$stmt) {			// we don't know whether odbc driver is parsing prepared stmts, so just return sql			return $sql;		}		return array($sql,$stmt,false);	}	/* returns queryID or false */	function _query($sql,$inputarr=false) 	{	GLOBAL $php_errormsg;		$php_errormsg = '';		$this->_error = '';				if ($inputarr) {			if (is_array($sql)) {				$stmtid = $sql[1];			} else {				$stmtid = odbc_prepare($this->_connectionID,$sql);					if ($stmtid == false) {					$this->_errorMsg = $php_errormsg;					return false;				}			}						if (! odbc_execute($stmtid,$inputarr)) {				//@odbc_free_result($stmtid);				if ($this->_haserrorfunctions) {					$this->_errorMsg = odbc_errormsg();					$this->_errorCode = odbc_error();				}				return false;			}				} else if (is_array($sql)) {			$stmtid = $sql[1];			if (!odbc_execute($stmtid)) {				//@odbc_free_result($stmtid);				if ($this->_haserrorfunctions) {					$this->_errorMsg = odbc_errormsg();					$this->_errorCode = odbc_error();				}				return false;			}		} else			$stmtid = odbc_exec($this->_connectionID,$sql);				$this->_lastAffectedRows = 0;		if ($stmtid) {			if (@odbc_num_fields($stmtid) == 0) {				$this->_lastAffectedRows = odbc_num_rows($stmtid);				$stmtid = true;			} else {				$this->_lastAffectedRows = 0;				odbc_binmode($stmtid,$this->binmode);				odbc_longreadlen($stmtid,$this->maxblobsize);			}						if ($this->_haserrorfunctions) {				$this->_errorMsg = '';				$this->_errorCode = 0;			} else				$this->_errorMsg = $php_errormsg;		} else {			if ($this->_haserrorfunctions) {				$this->_errorMsg = odbc_errormsg();				$this->_errorCode = odbc_error();			} else				$this->_errorMsg = $php_errormsg;		}		return $stmtid;	}	/*		Insert a null into the blob field of the table first.		Then use UpdateBlob to store the blob.				Usage:		 		$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;	}		// returns true or false	function _close()	{		$ret = @odbc_close($this->_connectionID);		$this->_connectionID = false;		return $ret;	}	function _affectedrows()	{		return $this->_lastAffectedRows;	}	}	/*--------------------------------------------------------------------------------------	 Class Name: Recordset--------------------------------------------------------------------------------------*/class ADORecordSet_odbc extends ADORecordSet {			var $bind = false;	var $databaseType = "odbc";			var $dataProvider = "odbc";	var $useFetchArray;	var $_has_stupid_odbc_fetch_api_change;		function ADORecordSet_odbc($id,$mode=false)	{		if ($mode === false) {  			global $ADODB_FETCH_MODE;			$mode = $ADODB_FETCH_MODE;		}		$this->fetchMode = $mode;				$this->_queryID = $id;				// the following is required for mysql odbc driver in 4.3.1 -- why?		$this->EOF = false;		$this->_currentRow = -1;		//$this->ADORecordSet($id);	}	// returns the field object	function &FetchField($fieldOffset = -1) 	{				$off=$fieldOffset+1; // offsets begin at 1				$o= new ADOFieldObject();		$o->name = @odbc_field_name($this->_queryID,$off);		$o->type = @odbc_field_type($this->_queryID,$off);		$o->max_length = @odbc_field_len($this->_queryID,$off);		if (ADODB_ASSOC_CASE == 0) $o->name = strtolower($o->name);		else if (ADODB_ASSOC_CASE == 1) $o->name = strtoupper($o->name);		return $o;	}		/* Use associative array to get fields array */	function Fields($colname)	{		if ($this->fetchMode & ADODB_FETCH_ASSOC) return $this->fields[$colname];		if (!$this->bind) {			$this->bind = array();			for ($i=0; $i < $this->_numOfFields; $i++) {				$o = $this->FetchField($i);				$this->bind[strtoupper($o->name)] = $i;			}		}		 return $this->fields[$this->bind[strtoupper($colname)]];	}				function _initrs()	{	global $ADODB_COUNTRECS;		$this->_numOfRows = ($ADODB_COUNTRECS) ? @odbc_num_rows($this->_queryID) : -1;		$this->_numOfFields = @odbc_num_fields($this->_queryID);		// some silly drivers such as db2 as/400 and intersystems cache return _numOfRows = 0		if ($this->_numOfRows == 0) $this->_numOfRows = -1;		//$this->useFetchArray = $this->connection->useFetchArray;		$this->_has_stupid_odbc_fetch_api_change = ADODB_PHPVER >= 0x4200;	}			function _seek($row)	{		return false;	}		// speed up SelectLimit() by switching to ADODB_FETCH_NUM as ADODB_FETCH_ASSOC is emulated	function &GetArrayLimit($nrows,$offset=-1) 	{		if ($offset <= 0) {			$rs =& $this->GetArray($nrows);			return $rs;		}		$savem = $this->fetchMode;		$this->fetchMode = ADODB_FETCH_NUM;		$this->Move($offset);		$this->fetchMode = $savem;				if ($this->fetchMode & ADODB_FETCH_ASSOC) {			$this->fields =& $this->GetRowAssoc(ADODB_ASSOC_CASE);		}				$results = array();		$cnt = 0;		while (!$this->EOF && $nrows != $cnt) {			$results[$cnt++] = $this->fields;			$this->MoveNext();		}				return $results;	}			function MoveNext() 	{		if ($this->_numOfRows != 0 && !$this->EOF) {					$this->_currentRow++;			$row = 0;			if ($this->_has_stupid_odbc_fetch_api_change)				$rez = @odbc_fetch_into($this->_queryID,$this->fields);			else 				$rez = @odbc_fetch_into($this->_queryID,$row,$this->fields);			if ($rez) {				if ($this->fetchMode & ADODB_FETCH_ASSOC) {					$this->fields =& $this->GetRowAssoc(ADODB_ASSOC_CASE);				}				return true;			}		}		$this->fields = false;		$this->EOF = true;		return false;	}			function _fetch()	{		$row = 0;		if ($this->_has_stupid_odbc_fetch_api_change)			$rez = @odbc_fetch_into($this->_queryID,$this->fields,$row);		else 			$rez = @odbc_fetch_into($this->_queryID,$row,$this->fields);				if ($rez) {			if ($this->fetchMode & ADODB_FETCH_ASSOC) {				$this->fields =& $this->GetRowAssoc(ADODB_ASSOC_CASE);			}			return true;		}		$this->fields = false;		return false;	}		function _close() 	{		return @odbc_free_result($this->_queryID);			}}?>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区观看视频| 日韩av中文在线观看| 亚洲第一福利视频在线| 久久97超碰色| 69堂精品视频| 亚洲最新视频在线播放| 丁香婷婷综合网| 91麻豆精品国产无毒不卡在线观看| 国产亚洲精久久久久久| 免费成人av在线播放| 在线看国产一区二区| 国产精品久久久久影院老司 | 欧美一区二区人人喊爽| 国产精品久久久久久久久快鸭| 狠狠色丁香婷综合久久| 日韩一区二区三区电影| 视频一区视频二区中文| 欧美伊人久久久久久久久影院| 亚洲视频在线观看三级| 成人动漫一区二区在线| 国产精品嫩草影院com| 丁香另类激情小说| 国产亚洲欧洲一区高清在线观看| 九一九一国产精品| 日韩手机在线导航| 男男gaygay亚洲| 欧美一卡2卡三卡4卡5免费| 亚瑟在线精品视频| 欧美久久一区二区| 日韩高清欧美激情| 欧美一级免费观看| 麻豆91免费观看| 久久免费午夜影院| 成人av在线播放网址| 中文字幕在线播放不卡一区| eeuss影院一区二区三区| 中文字幕一区二区三区视频| 97精品电影院| 亚洲一区二区五区| 日韩午夜在线播放| 韩国女主播成人在线| 26uuu欧美| 国产91精品在线观看| 亚洲色图欧美激情| 777色狠狠一区二区三区| 美腿丝袜亚洲综合| 欧美激情中文不卡| 91麻豆国产自产在线观看| 洋洋av久久久久久久一区| 欧美日韩一区在线观看| 日本不卡在线视频| 日本一区二区视频在线| 91网站在线观看视频| 亚洲国产wwwccc36天堂| 精品美女在线观看| 99久久精品费精品国产一区二区| 一区二区三区在线视频免费 | 国产精品丝袜在线| 欧美性色黄大片手机版| 美女视频一区二区三区| 国产农村妇女精品| 欧美日韩一区三区| 国产成人自拍网| 亚洲综合在线电影| 久久婷婷久久一区二区三区| 色琪琪一区二区三区亚洲区| 另类小说视频一区二区| 亚洲天堂免费在线观看视频| 日韩三级中文字幕| 97久久精品人人做人人爽| 奇米在线7777在线精品 | www.欧美色图| 日韩国产精品久久| 中文字幕综合网| 日韩免费一区二区三区在线播放| 99久久精品一区二区| 蜜臀av一区二区在线免费观看 | 日本乱码高清不卡字幕| 国产一区二区日韩精品| 一区二区三区不卡视频| 国产日产精品1区| 91精品国产色综合久久ai换脸| 国产91精品入口| 久久99热国产| 视频一区国产视频| 亚洲欧美国产77777| 久久九九99视频| 日韩欧美在线影院| 欧美最新大片在线看| 粉嫩av一区二区三区| 男女性色大片免费观看一区二区| 亚洲欧美日韩精品久久久久| 久久精品在线免费观看| 日韩欧美国产一区二区在线播放| 欧美熟乱第一页| 色美美综合视频| 成人av网站在线| 国产福利一区二区三区| 狠狠色丁香久久婷婷综合_中 | 亚洲国产综合色| 亚洲日本在线视频观看| 国产精品婷婷午夜在线观看| 久久综合九色综合欧美亚洲| 欧美一卡2卡3卡4卡| 欧美精品123区| 欧美肥胖老妇做爰| 色av一区二区| 欧美午夜不卡在线观看免费| 在线视频观看一区| 91精品福利视频| 在线观看视频91| 欧美色男人天堂| 91精品国产一区二区| 日韩一级二级三级| 正在播放亚洲一区| 日韩精品一区二区三区视频在线观看 | 狠狠色狠狠色综合| 国产综合色精品一区二区三区| 精品一区二区成人精品| 精品亚洲成a人在线观看| 久久99最新地址| 国产精品一品视频| 成人免费高清在线| 97久久超碰精品国产| 欧美性xxxxx极品少妇| 欧美日韩一区二区在线观看视频| 欧美性猛片aaaaaaa做受| 欧美人妇做爰xxxⅹ性高电影| 欧美另类久久久品| 精品乱人伦一区二区三区| 久久色在线观看| 中文字幕中文乱码欧美一区二区 | 精品制服美女丁香| 国产69精品久久久久777| 99久久99久久精品免费观看| 欧美三级电影网站| 日韩视频免费观看高清完整版在线观看| 精品女同一区二区| 亚洲欧洲国产专区| 无吗不卡中文字幕| 国产麻豆精品久久一二三| 91麻豆国产福利在线观看| 欧美色大人视频| 久久丝袜美腿综合| 亚洲一本大道在线| 久久av中文字幕片| 色噜噜狠狠成人中文综合| 欧美一区二区三区视频免费播放| 国产女主播在线一区二区| 亚洲一区二区三区免费视频| 久久av老司机精品网站导航| 99国产精品国产精品久久| 在线播放中文字幕一区| 中文字幕精品一区二区精品绿巨人 | 欧美日韩成人激情| 国产欧美视频一区二区三区| 亚洲宅男天堂在线观看无病毒| 激情伊人五月天久久综合| 91麻豆精品视频| 欧美国产亚洲另类动漫| 视频一区二区不卡| 91在线观看成人| 欧美精品一区二区三区在线播放 | 国产精品伦一区二区三级视频| 亚洲成a天堂v人片| 成人国产视频在线观看| 日韩精品一区二区三区在线| 亚洲一区二区三区爽爽爽爽爽| 国产凹凸在线观看一区二区| 日韩欧美亚洲一区二区| 亚洲国产精品综合小说图片区| 成人精品一区二区三区中文字幕| 欧美一区二区精美| 亚洲一二三四区| 色一情一伦一子一伦一区| 国产午夜精品一区二区三区视频 | 26uuu色噜噜精品一区二区| 亚洲成人av一区| 一本一道久久a久久精品综合蜜臀| www国产成人| 美女精品一区二区| 欧美日韩国产精选| 亚洲资源在线观看| 97久久精品人人澡人人爽| 国产精品国产a| 成人99免费视频| 国产精品激情偷乱一区二区∴| 国产乱人伦偷精品视频免下载 | 国产精品 日产精品 欧美精品| 91.com在线观看| 日韩成人精品在线观看| 欧美日本一区二区在线观看| 亚洲一二三四区不卡| 欧美视频在线观看一区| 亚洲一区二区三区国产| 欧美专区亚洲专区| 亚洲成人tv网| 欧美一区二区网站| 裸体一区二区三区| 欧美不卡在线视频|