亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
久久久青草青青国产亚洲免观| 国产美女在线精品| 国内精品久久久久影院薰衣草| 色综合久久久久网| 国产亚洲人成网站| 亚洲成人激情社区| 91免费看片在线观看| 国产视频一区二区在线观看| 男男成人高潮片免费网站| 91九色最新地址| 国产欧美日韩激情| 麻豆高清免费国产一区| 欧美日韩国产免费| 亚洲一区二区在线免费观看视频| 丁香一区二区三区| 精品成a人在线观看| 免费一级片91| 一本色道久久综合亚洲aⅴ蜜桃| 久久一日本道色综合| 美女视频黄免费的久久| 欧美日本一区二区| 亚洲国产裸拍裸体视频在线观看乱了| av午夜一区麻豆| 国产女人aaa级久久久级| 国产曰批免费观看久久久| 日韩欧美久久一区| 久久99热这里只有精品| 日韩一区二区免费高清| 美日韩一区二区三区| 日韩精品一区二| 激情小说欧美图片| 国产清纯美女被跳蛋高潮一区二区久久w | 综合精品久久久| 成人亚洲一区二区一| 国产精品久久久久影视| caoporen国产精品视频| 亚洲卡通欧美制服中文| 欧美吻胸吃奶大尺度电影| 亚洲国产成人高清精品| 欧美丰满美乳xxx高潮www| 免费看精品久久片| www一区二区| 成人久久久精品乱码一区二区三区| 国产精品乱人伦一区二区| 91麻豆国产香蕉久久精品| 亚洲成人手机在线| 精品久久久久久久一区二区蜜臀| 国产精品一区专区| 亚洲欧洲日韩女同| 欧美日韩国产一区二区三区地区| 日本视频一区二区三区| 久久久久亚洲蜜桃| 日本高清无吗v一区| 首页欧美精品中文字幕| 精品嫩草影院久久| 99久久国产综合精品麻豆| 亚洲成年人影院| 久久日一线二线三线suv| 91麻豆6部合集magnet| 免费成人在线网站| 国产精品电影院| 欧美日韩mp4| 粉嫩嫩av羞羞动漫久久久| 亚洲午夜激情av| 久久婷婷国产综合国色天香| 欧美伊人精品成人久久综合97| 麻豆精品国产传媒mv男同| 亚洲人成网站影音先锋播放| 日韩午夜激情电影| 色综合咪咪久久| 精品在线免费观看| 一区二区日韩电影| 国产精品日韩成人| 日韩精品中文字幕在线不卡尤物 | 亚洲人成7777| 日韩欧美国产一区二区三区| 99久久99久久免费精品蜜臀| 另类成人小视频在线| 国产一区二区三区久久久| 亚洲一区二区三区四区的| 国产日韩成人精品| 欧美久久一二三四区| 99久久国产综合精品麻豆| 黄色资源网久久资源365| 婷婷开心久久网| 亚洲欧美另类小说视频| 欧美激情在线免费观看| 日韩视频在线一区二区| 欧美日韩三级一区| 91麻豆自制传媒国产之光| 国产电影精品久久禁18| 麻豆国产91在线播放| 性做久久久久久久久| 亚洲精品免费在线观看| 国产精品理论片| 国产午夜亚洲精品午夜鲁丝片| 欧美一区二区三区免费观看视频| 日本乱人伦aⅴ精品| aaa亚洲精品一二三区| 国产福利视频一区二区三区| 精品综合免费视频观看| 欧美aaaaa成人免费观看视频| 丝瓜av网站精品一区二区 | 国产午夜一区二区三区| 精品久久久久久久久久久久久久久久久 | 精品午夜一区二区三区在线观看| 午夜精品视频在线观看| 亚洲一区二区三区美女| 一区二区欧美精品| 夜夜嗨av一区二区三区四季av | 国精产品一区一区三区mba视频| 日韩成人一级大片| 日产国产欧美视频一区精品 | 成人app网站| 99精品视频在线观看| 91女神在线视频| 欧洲视频一区二区| 欧美三级一区二区| 欧美精品视频www在线观看| 欧美精品久久99| 欧美一区二区三区免费视频| 精品国产一区二区亚洲人成毛片| 精品久久久久久久久久久院品网 | 日韩一级片在线观看| 日韩欧美国产不卡| 国产午夜精品久久久久久久| 中文字幕高清不卡| 亚洲精品国产精华液| 婷婷开心久久网| 国产呦萝稀缺另类资源| 从欧美一区二区三区| 日本韩国精品在线| 日韩免费一区二区| 中文字幕精品综合| 亚洲国产精品欧美一二99| 美腿丝袜亚洲色图| 波多野结衣欧美| 欧美日韩一区二区三区不卡| 欧美一级二级三级乱码| 国产拍欧美日韩视频二区| 亚洲精品日韩综合观看成人91| 日本中文在线一区| 成人黄色小视频| 欧美精品777| 久久久久久久性| 亚洲精品自拍动漫在线| 免费观看在线综合色| 成人av免费在线播放| 在线精品国精品国产尤物884a| 日韩一区二区三区免费观看| 国产精品入口麻豆九色| 日韩黄色在线观看| 91在线高清观看| 精品国产不卡一区二区三区| 亚洲少妇中出一区| 极品销魂美女一区二区三区| 日本久久电影网| 欧美tickling挠脚心丨vk| 亚洲色图欧美激情| 久久国产麻豆精品| 欧美日韩精品一区二区三区蜜桃 | 欧美一区二区三区思思人| 中文在线一区二区| 喷水一区二区三区| 欧美艳星brazzers| 成人免费一区二区三区在线观看| 久久97超碰色| 欧美日韩国产一区| 中文字幕中文字幕在线一区| 久久99精品一区二区三区| 欧美性xxxxxx少妇| 成人欧美一区二区三区| 国产精品99久久不卡二区| 日韩欧美一区中文| 日韩精品乱码av一区二区| 在线观看中文字幕不卡| 最新欧美精品一区二区三区| 国产精品538一区二区在线| 欧美一级爆毛片| 日韩黄色片在线观看| 欧美在线三级电影| 亚洲激情第一区| 91老师片黄在线观看| 中文字幕色av一区二区三区| 韩国精品久久久| 精品99999| 国产一区二区三区香蕉| 日韩一区二区视频在线观看| 午夜av一区二区三区| 欧美天天综合网| 一二三区精品福利视频| 欧美性猛片xxxx免费看久爱| 亚洲精品乱码久久久久久日本蜜臀| 菠萝蜜视频在线观看一区| 国产三级一区二区三区| 国产成人免费视频一区| 中文字幕乱码久久午夜不卡| 成人污视频在线观看| 国产精品妹子av| 91在线丨porny丨国产|