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

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

?? adodb-odbc.inc.php

?? asterisk用 的voip記費軟件
?? PHP
?? 第 1 頁 / 共 2 頁
字號:
<?php/* V4.94 23 Jan 2007  (c) 2000-2007 John Lim (jlim#natsoft.com.my). All rights reserved.  Released under both BSD license and Lesser GPL library license.   Whenever there is any discrepancy between the two licenses,   the BSD license will take precedence. Set tabs to 4 for best viewing.    Latest version is available at http://adodb.sourceforge.net    Requires ODBC. Works on Windows and Unix.*/// security - hide pathsif (!defined('ADODB_DIR')) die();  define("_ADODB_ODBC_LAYER", 2 );	 /*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/class ADODB_odbc extends ADOConnection {	var $databaseType = "odbc";		var $fmtDate = "'Y-m-d'";	var $fmtTimeStamp = "'Y-m-d, h:i:sA'";	var $replaceQuote = "''"; // string to use to replace quotes	var $dataProvider = "odbc";	var $hasAffectedRows = true;	var $binmode = ODBC_BINMODE_RETURN;	var $useFetchArray = false; // setting this to true will make array elements in FETCH_ASSOC mode case-sensitive								// breaking backward-compat	//var $longreadlen = 8000; // default number of chars to return for a Blob/Long field	var $_bindInputArray = false;		var $curmode = SQL_CUR_USE_DRIVER; // See sqlext.h, SQL_CUR_DEFAULT == SQL_CUR_USE_DRIVER == 2L	var $_genSeqSQL = "create table %s (id integer)";	var $_autocommit = true;	var $_haserrorfunctions = true;	var $_has_stupid_odbc_fetch_api_change = true;	var $_lastAffectedRows = 0;	var $uCaseTables = true; // for meta* functions, uppercase table names		function ADODB_odbc() 	{ 			$this->_haserrorfunctions = ADODB_PHPVER >= 0x4050;		$this->_has_stupid_odbc_fetch_api_change = ADODB_PHPVER >= 0x4200;	}			// returns true or false	function _connect($argDSN, $argUsername, $argPassword, $argDatabasename)	{	global $php_errormsg;				if (!function_exists('odbc_connect')) return null;				if ($this->debug && $argDatabasename && $this->databaseType != 'vfp') {			ADOConnection::outp("For odbc Connect(), $argDatabasename is not used. Place dsn in 1st parameter.");		}		if (isset($php_errormsg)) $php_errormsg = '';		if ($this->curmode === false) $this->_connectionID = odbc_connect($argDSN,$argUsername,$argPassword);		else $this->_connectionID = odbc_connect($argDSN,$argUsername,$argPassword,$this->curmode);		$this->_errorMsg = isset($php_errormsg) ? $php_errormsg : '';		if (isset($this->connectStmt)) $this->Execute($this->connectStmt);				return $this->_connectionID != false;	}		// returns true or false	function _pconnect($argDSN, $argUsername, $argPassword, $argDatabasename)	{	global $php_errormsg;			if (!function_exists('odbc_connect')) return null;				if (isset($php_errormsg)) $php_errormsg = '';		$this->_errorMsg = isset($php_errormsg) ? $php_errormsg : '';		if ($this->debug && $argDatabasename) {			ADOConnection::outp("For odbc PConnect(), $argDatabasename is not used. Place dsn in 1st parameter.");		}	//	print "dsn=$argDSN u=$argUsername p=$argPassword<br>"; flush();		if ($this->curmode === false) $this->_connectionID = odbc_connect($argDSN,$argUsername,$argPassword);		else $this->_connectionID = odbc_pconnect($argDSN,$argUsername,$argPassword,$this->curmode);				$this->_errorMsg = isset($php_errormsg) ? $php_errormsg : '';		if ($this->_connectionID && $this->autoRollback) @odbc_rollback($this->_connectionID);		if (isset($this->connectStmt)) $this->Execute($this->connectStmt);				return $this->_connectionID != false;	}		function ServerInfo()	{			if (!empty($this->host) && ADODB_PHPVER >= 0x4300) {			$dsn = strtoupper($this->host);			$first = true;			$found = false;						if (!function_exists('odbc_data_source')) return false;						while(true) {								$rez = @odbc_data_source($this->_connectionID,					$first ? SQL_FETCH_FIRST : SQL_FETCH_NEXT);				$first = false;				if (!is_array($rez)) break;				if (strtoupper($rez['server']) == $dsn) {					$found = true;					break;				}			} 			if (!$found) return ADOConnection::ServerInfo();			if (!isset($rez['version'])) $rez['version'] = '';			return $rez;		} else {			return ADOConnection::ServerInfo();		}	}		function CreateSequence($seqname='adodbseq',$start=1)	{		if (empty($this->_genSeqSQL)) return false;		$ok = $this->Execute(sprintf($this->_genSeqSQL,$seqname));		if (!$ok) return false;		$start -= 1;		return $this->Execute("insert into $seqname values($start)");	}		var $_dropSeqSQL = 'drop table %s';	function DropSequence($seqname)	{		if (empty($this->_dropSeqSQL)) return false;		return $this->Execute(sprintf($this->_dropSeqSQL,$seqname));	}		/*		This algorithm is not very efficient, but works even if table locking		is not available.				Will return false if unable to generate an ID after $MAXLOOPS attempts.	*/	function GenID($seq='adodbseq',$start=1)	{			// if you have to modify the parameter below, your database is overloaded,		// or you need to implement generation of id's yourself!		$MAXLOOPS = 100;		//$this->debug=1;		while (--$MAXLOOPS>=0) {			$num = $this->GetOne("select id from $seq");			if ($num === false) {				$this->Execute(sprintf($this->_genSeqSQL ,$seq));					$start -= 1;				$num = '0';				$ok = $this->Execute("insert into $seq values($start)");				if (!$ok) return false;			} 			$this->Execute("update $seq set id=id+1 where id=$num");						if ($this->affected_rows() > 0) {				$num += 1;				$this->genID = $num;				return $num;			}		}		if ($fn = $this->raiseErrorFn) {			$fn($this->databaseType,'GENID',-32000,"Unable to generate unique id after $MAXLOOPS attempts",$seq,$num);		}		return false;	}	function ErrorMsg()	{		if ($this->_haserrorfunctions) {			if ($this->_errorMsg !== false) return $this->_errorMsg;			if (empty($this->_connectionID)) return @odbc_errormsg();			return @odbc_errormsg($this->_connectionID);		} else return ADOConnection::ErrorMsg();	}		function ErrorNo()	{				if ($this->_haserrorfunctions) {			if ($this->_errorCode !== false) {				// bug in 4.0.6, error number can be corrupted string (should be 6 digits)				return (strlen($this->_errorCode)<=2) ? 0 : $this->_errorCode;			}			if (empty($this->_connectionID)) $e = @odbc_error(); 			else $e = @odbc_error($this->_connectionID);						 // bug in 4.0.6, error number can be corrupted string (should be 6 digits)			 // so we check and patch			if (strlen($e)<=2) return 0;			return $e;		} else return ADOConnection::ErrorNo();	}			function BeginTrans()	{			if (!$this->hasTransactions) return false;		if ($this->transOff) return true; 		$this->transCnt += 1;		$this->_autocommit = false;		return odbc_autocommit($this->_connectionID,false);	}		function CommitTrans($ok=true) 	{ 		if ($this->transOff) return true; 		if (!$ok) return $this->RollbackTrans();		if ($this->transCnt) $this->transCnt -= 1;		$this->_autocommit = true;		$ret = odbc_commit($this->_connectionID);		odbc_autocommit($this->_connectionID,true);		return $ret;	}		function RollbackTrans()	{		if ($this->transOff) return true; 		if ($this->transCnt) $this->transCnt -= 1;		$this->_autocommit = true;		$ret = odbc_rollback($this->_connectionID);		odbc_autocommit($this->_connectionID,true);		return $ret;	}		function MetaPrimaryKeys($table)	{	global $ADODB_FETCH_MODE;			if ($this->uCaseTables) $table = strtoupper($table);		$schema = '';		$this->_findschema($table,$schema);		$savem = $ADODB_FETCH_MODE;		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;		$qid = @odbc_primarykeys($this->_connectionID,'',$schema,$table);				if (!$qid) {			$ADODB_FETCH_MODE = $savem;			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;				$arr =& $rs->GetArray();		$rs->Close();		//print_r($arr);		$arr2 = array();		for ($i=0; $i < sizeof($arr); $i++) {			if ($arr[$i][3]) $arr2[] = $arr[$i][3];		}		return $arr2;	}				function &MetaTables($ttype=false)	{	global $ADODB_FETCH_MODE;			$savem = $ADODB_FETCH_MODE;		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;		$qid = odbc_tables($this->_connectionID);				$rs = new ADORecordSet_odbc($qid);				$ADODB_FETCH_MODE = $savem;		if (!$rs) {			$false = false;			return $false;		}		$rs->_has_stupid_odbc_fetch_api_change = $this->_has_stupid_odbc_fetch_api_change;				$arr =& $rs->GetArray();		//print_r($arr);				$rs->Close();		$arr2 = array();				if ($ttype) {			$isview = strncmp($ttype,'V',1) === 0;		}		for ($i=0; $i < sizeof($arr); $i++) {			if (!$arr[$i][2]) continue;			$type = $arr[$i][3];			if ($ttype) { 				if ($isview) {					if (strncmp($type,'V',1) === 0) $arr2[] = $arr[$i][2];				} else if (strncmp($type,'SYS',3) !== 0) $arr2[] = $arr[$i][2];			} else if (strncmp($type,'SYS',3) !== 0) $arr2[] = $arr[$i][2];		}		return $arr2;	}	/*See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odbcdatetime_data_type_changes.asp/ SQL data type codes /#define	SQL_UNKNOWN_TYPE	0#define SQL_CHAR			1#define SQL_NUMERIC		 2#define SQL_DECIMAL		 3#define SQL_INTEGER		 4#define SQL_SMALLINT		5#define SQL_FLOAT		   6#define SQL_REAL			7#define SQL_DOUBLE		  8#if (ODBCVER >= 0x0300)#define SQL_DATETIME		9#endif#define SQL_VARCHAR		12/ One-parameter shortcuts for date/time data types /#if (ODBCVER >= 0x0300)#define SQL_TYPE_DATE	  91#define SQL_TYPE_TIME	  92#define SQL_TYPE_TIMESTAMP 93#define SQL_UNICODE                             (-95)#define SQL_UNICODE_VARCHAR                     (-96)#define SQL_UNICODE_LONGVARCHAR                 (-97)*/	function ODBCTypes($t)	{		switch ((integer)$t) {		case 1:			case 12:		case 0:		case -95:		case -96:			return 'C';		case -97:		case -1: //text			return 'X';		case -4: //image			return 'B';						case 9:			case 91:			return 'D';				case 10:		case 11:		case 92:		case 93:			return 'T';					case 4:		case 5:		case -6:			return 'I';					case -11: // uniqidentifier			return 'R';		case -7: //bit			return 'L';				default:			return 'N';

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩视频在线观看| 制服丝袜中文字幕一区| 青青草伊人久久| 一区二区视频在线看| 亚洲免费资源在线播放| 中文字幕亚洲区| 亚洲欧美日韩系列| 亚洲一区二区成人在线观看| 一区二区三区中文免费| 亚洲精品免费播放| 香蕉av福利精品导航| 午夜一区二区三区视频| 亚洲成av人片| 蜜桃视频一区二区| 精品一区二区成人精品| 国产成人在线观看免费网站| 成人午夜视频在线| 欧美色综合网站| 日韩精品一区二区三区中文不卡| 欧美刺激午夜性久久久久久久| 精品成人佐山爱一区二区| 精品99久久久久久| 亚洲精品欧美激情| 免费观看在线综合色| 国产精品一区二区视频| 成人黄色免费短视频| 欧美三级电影网站| 精品国产伦一区二区三区观看方式| 久久久久国产免费免费| 亚洲另类春色国产| 美女mm1313爽爽久久久蜜臀| 成人看片黄a免费看在线| 欧洲一区二区三区在线| 日韩精品综合一本久道在线视频| 国产精品视频一区二区三区不卡| 亚洲综合区在线| 国产精品自产自拍| 精品视频在线看| 国产欧美一区视频| 五月综合激情网| 成人免费视频视频在线观看免费| 欧美日韩一区二区欧美激情| 久久久综合视频| 日韩二区在线观看| 97久久超碰国产精品| 精品免费视频一区二区| 亚洲一级电影视频| 懂色av一区二区在线播放| 9191成人精品久久| 一区二区不卡在线播放 | 精品国免费一区二区三区| 国产精品电影一区二区| 精品一区二区三区免费观看| 色综合色综合色综合色综合色综合| 欧美一级黄色片| 亚洲成av人**亚洲成av**| 成人教育av在线| 久久这里只精品最新地址| 首页综合国产亚洲丝袜| 欧美自拍偷拍一区| 有码一区二区三区| 91影院在线免费观看| 亚洲国产精品精华液2区45| 久久99久久精品欧美| 91精品国产综合久久久久久久久久| 亚洲美女电影在线| 91蜜桃视频在线| 成人欧美一区二区三区视频网页| 国产99精品视频| 国产女人aaa级久久久级| 国产在线视视频有精品| 日韩一区二区精品葵司在线| 日韩在线一二三区| 国产喷白浆一区二区三区| 久久99热狠狠色一区二区| 4438x亚洲最大成人网| 视频一区二区三区中文字幕| 欧美视频中文一区二区三区在线观看| 亚洲欧洲精品一区二区精品久久久| 国产成人免费在线| 欧美激情一区二区三区蜜桃视频| 国v精品久久久网| 国产精品盗摄一区二区三区| voyeur盗摄精品| 日韩理论电影院| 欧美日韩精品二区第二页| 天堂一区二区在线免费观看| 欧美一区二区三区在| 国产精品综合av一区二区国产馆| 欧美激情一区三区| 91麻豆国产香蕉久久精品| 洋洋av久久久久久久一区| 欧美三日本三级三级在线播放| 水蜜桃久久夜色精品一区的特点| 欧美一级二级在线观看| 韩国中文字幕2020精品| 中文字幕高清不卡| 日本精品一级二级| 日本美女一区二区三区| 国产日产亚洲精品系列| 色婷婷亚洲综合| 首页欧美精品中文字幕| 国产亚洲精品资源在线26u| 色婷婷综合视频在线观看| 蜜臀国产一区二区三区在线播放| 日韩精品一区二区三区在线播放| 国产91丝袜在线观看| 亚洲欧美日韩久久精品| 久久精品一区八戒影视| 91视频www| 国产另类ts人妖一区二区| 亚洲乱码国产乱码精品精的特点| 日韩三级中文字幕| 色综合久久99| 国产精品一区2区| 亚洲国产精品久久不卡毛片| 欧美电影精品一区二区| 日本韩国视频一区二区| 国产一区二区视频在线播放| 一区二区三区四区五区视频在线观看 | 亚洲国产一区视频| 亚洲精品在线免费播放| 色婷婷精品久久二区二区蜜臂av| 亚洲欧美日韩久久| 亚洲精品一区二区在线观看| 91小视频在线免费看| 狠狠色综合色综合网络| 日韩黄色一级片| 亚洲影视资源网| 国产精品盗摄一区二区三区| 欧美成人精精品一区二区频| 日本高清不卡视频| 91在线视频网址| 国产馆精品极品| 国产麻豆视频精品| 捆绑紧缚一区二区三区视频 | 欧美大片在线观看一区二区| 在线看不卡av| 91麻豆.com| 成人精品一区二区三区四区 | 亚洲一级二级在线| 亚洲色图在线播放| 国产精品污网站| 国产欧美一区二区三区网站| 日韩欧美久久一区| 日韩欧美在线影院| 日韩一区二区不卡| 日韩三级中文字幕| 日韩精品一区二区三区swag| 91精品在线麻豆| 欧美电影免费观看高清完整版在| 欧美一区在线视频| 欧美精品日韩一本| 欧美一区二区三区在线看| 欧美精品第1页| 欧美一区二区国产| 欧美va日韩va| 精品国产免费人成在线观看| www一区二区| 中文字幕精品一区二区精品绿巨人 | 97国产一区二区| 99久免费精品视频在线观看| 92精品国产成人观看免费| 成人av资源在线观看| 99国产精品一区| 在线观看中文字幕不卡| 欧美色图12p| 日韩欧美成人激情| 日本一区二区视频在线| 欧美国产日韩亚洲一区| 日韩理论片网站| 午夜精品aaa| 国产一区在线不卡| 99久久国产免费看| 欧美精品免费视频| 久久免费视频一区| 亚洲精品久久嫩草网站秘色| 亚洲香肠在线观看| 国产一区二区导航在线播放| 成人激情小说网站| 69堂成人精品免费视频| 国产精品久久夜| 日韩综合小视频| 国产99久久久精品| 制服丝袜在线91| 国产精品无码永久免费888| 亚洲一级二级在线| 国产精品12区| 欧美另类z0zxhd电影| 欧美国产欧美综合| 天堂蜜桃一区二区三区| 成人丝袜高跟foot| 欧美一区二区三区视频免费 | 不卡高清视频专区| 91麻豆精品国产91久久久久 | 日韩视频在线你懂得| 国产精品大尺度| 狠狠色伊人亚洲综合成人| 欧美色视频在线| 国产精品久久久久7777按摩|