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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? adodb-db2.inc.php

?? asterisk 計費模塊
?? PHP
?? 第 1 頁 / 共 2 頁
字號:
<?php/*   V4.94 23 Jan 2007  (c) 2006 John Lim (jlim#natsoft.com.my). All rights reserved.  This is a version of the ADODB driver for DB2.  It uses the 'ibm_db2' PECL extension  for PHP (http://pecl.php.net/package/ibm_db2), which in turn requires DB2 V8.2.2 or  higher.  Originally tested with PHP 5.1.1 and Apache 2.0.55 on Windows XP SP2.  More recently tested with PHP 5.1.2 and Apache 2.0.55 on Windows XP SP2.  This file was ported from "adodb-odbc.inc.php" by Larry Menard, "larry.menard#rogers.com".  I ripped out what I believed to be a lot of redundant or obsolete code, but there are  probably still some remnants of the ODBC support in this file; I'm relying on reviewers  of this code to point out any other things that can be removed.*/// security - hide pathsif (!defined('ADODB_DIR')) die();  define("_ADODB_DB2_LAYER", 2 );	 /*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/class ADODB_db2 extends ADOConnection {	var $databaseType = "db2";		var $fmtDate = "'Y-m-d'";	var $concat_operator = '||';		var $sysTime = 'CURRENT TIME';	var $sysDate = 'CURRENT DATE';	var $sysTimeStamp = 'CURRENT TIMESTAMP';		var $fmtTimeStamp = "'Y-m-d-H.i.s'";	var $replaceQuote = "''"; // string to use to replace quotes	var $dataProvider = "db2";	var $hasAffectedRows = true;	var $binmode = DB2_BINARY;	var $useFetchArray = false; // setting this to true will make array elements in FETCH_ASSOC mode case-sensitive								// breaking backward-compat	var $_bindInputArray = false;		var $_genIDSQL = "VALUES NEXTVAL FOR %s";	var $_genSeqSQL = "CREATE SEQUENCE %s START WITH 1 NO MAXVALUE NO CYCLE";	var $_dropSeqSQL = "DROP SEQUENCE %s";	var $_autocommit = true;	var $_haserrorfunctions = true;	var $_lastAffectedRows = 0;	var $uCaseTables = true; // for meta* functions, uppercase table names	var $hasInsertID = true;	    function _insertid()    {        return ADOConnection::GetOne('VALUES IDENTITY_VAL_LOCAL()');    }		function ADODB_db2() 	{ 			$this->_haserrorfunctions = ADODB_PHPVER >= 0x4050;	}			// returns true or false	function _connect($argDSN, $argUsername, $argPassword, $argDatabasename)	{		global $php_errormsg;				if (!function_exists('db2_connect')) {			ADOConnection::outp("Warning: The old ODBC based DB2 driver has been renamed 'odbc_db2'. This ADOdb driver calls PHP's native db2 extension.");			return null;		}		// This needs to be set before the connect().		// Replaces the odbc_binmode() call that was in Execute()		ini_set('ibm_db2.binmode', $this->binmode);		if ($argDatabasename) {			$this->_connectionID = db2_connect($argDatabasename,$argUsername,$argPassword);		} else {			$this->_connectionID = db2_connect($argDSN,$argUsername,$argPassword);		}		if (isset($php_errormsg)) $php_errormsg = '';		// For db2_connect(), there is an optional 4th arg.  If present, it must be		// an array of valid options.  So far, we don't use them.		$this->_errorMsg = @db2_conn_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('db2_connect')) return null;				// This needs to be set before the connect().		// Replaces the odbc_binmode() call that was in Execute()		ini_set('ibm_db2.binmode', $this->binmode);		if (isset($php_errormsg)) $php_errormsg = '';		$this->_errorMsg = isset($php_errormsg) ? $php_errormsg : '';				if ($argDatabasename) {			$this->_connectionID = db2_pconnect($argDatabasename,$argUsername,$argPassword);		} else {			$this->_connectionID = db2_pconnect($argDSN,$argUsername,$argPassword);		}		if (isset($php_errormsg)) $php_errormsg = '';		$this->_errorMsg = @db2_conn_errormsg();		if ($this->_connectionID && $this->autoRollback) @db2_rollback($this->_connectionID);		if (isset($this->connectStmt)) $this->Execute($this->connectStmt);				return $this->_connectionID != false;	}	// format and return date string in database timestamp format	function DBTimeStamp($ts)	{		if (empty($ts) && $ts !== 0) return 'null';		if (is_string($ts)) $ts = ADORecordSet::UnixTimeStamp($ts);		return 'TO_DATE('.adodb_date($this->fmtTimeStamp,$ts).",'YYYY-MM-DD HH24:MI:SS')";	}		// Format date column in sql string given an input format that understands Y M D	function SQLDate($fmt, $col=false)	{		// use right() and replace() ?		if (!$col) $col = $this->sysDate;		/* use TO_CHAR() if $fmt is TO_CHAR() allowed fmt */		if ($fmt== 'Y-m-d H:i:s')			return 'TO_CHAR('.$col.", 'YYYY-MM-DD HH24:MI:SS')";		$s = '';				$len = strlen($fmt);		for ($i=0; $i < $len; $i++) {			if ($s) $s .= $this->concat_operator;			$ch = $fmt[$i];			switch($ch) {			case 'Y':			case 'y':				if ($len==1) return "year($col)";				$s .= "char(year($col))";				break;			case 'M':				if ($len==1) return "monthname($col)";				$s .= "substr(monthname($col),1,3)";				break;			case 'm':				if ($len==1) return "month($col)";				$s .= "right(digits(month($col)),2)";				break;			case 'D':			case 'd':				if ($len==1) return "day($col)";				$s .= "right(digits(day($col)),2)";				break;			case 'H':			case 'h':				if ($len==1) return "hour($col)";				if ($col != $this->sysDate) $s .= "right(digits(hour($col)),2)";					else $s .= "''";				break;			case 'i':			case 'I':				if ($len==1) return "minute($col)";				if ($col != $this->sysDate)					$s .= "right(digits(minute($col)),2)";					else $s .= "''";				break;			case 'S':			case 's':				if ($len==1) return "second($col)";				if ($col != $this->sysDate)					$s .= "right(digits(second($col)),2)";				else $s .= "''";				break;			default:				if ($ch == '\\') {					$i++;					$ch = substr($fmt,$i,1);				}				$s .= $this->qstr($ch);			}		}		return $s;	}  		function ServerInfo()	{			if (!empty($this->host) && ADODB_PHPVER >= 0x4300) {			$dsn = strtoupper($this->host);			$first = true;			$found = false;						if (!function_exists('db2_data_source')) return false;						while(true) {								$rez = @db2_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;		return true;	}		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!		$num = $this->GetOne("VALUES NEXTVAL FOR $seq");				return $num;			}	function ErrorMsg()	{		if ($this->_haserrorfunctions) {			if ($this->_errorMsg !== false) return $this->_errorMsg;			if (empty($this->_connectionID)) return @db2_conn_errormsg();			return @db2_conn_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 = @db2_conn_error(); 			else $e = @db2_conn_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 db2_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 = db2_commit($this->_connectionID);		db2_autocommit($this->_connectionID,true);		return $ret;	}		function RollbackTrans()	{		if ($this->transOff) return true; 		if ($this->transCnt) $this->transCnt -= 1;		$this->_autocommit = true;		$ret = db2_rollback($this->_connectionID);		db2_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 = @db2_primarykeys($this->_connectionID,'',$schema,$table);				if (!$qid) {			$ADODB_FETCH_MODE = $savem;			return false;		}		$rs = new ADORecordSet_db2($qid);		$ADODB_FETCH_MODE = $savem;				if (!$rs) return false;				$arr =& $rs->GetArray();		$rs->Close();		$arr2 = array();		for ($i=0; $i < sizeof($arr); $i++) {			if ($arr[$i][3]) $arr2[] = $arr[$i][3];		}		return $arr2;	}		function MetaForeignKeys($table, $owner = FALSE, $upper = FALSE, $asociative = FALSE )	{	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 = @db2_foreign_keys($this->_connectionID,'',$schema,$table);		if (!$qid) {			$ADODB_FETCH_MODE = $savem;			return false;		}		$rs = new ADORecordSet_db2($qid);		$ADODB_FETCH_MODE = $savem;		/*		$rs->fields indices		0 PKTABLE_CAT		1 PKTABLE_SCHEM		2 PKTABLE_NAME		3 PKCOLUMN_NAME		4 FKTABLE_CAT		5 FKTABLE_SCHEM		6 FKTABLE_NAME		7 FKCOLUMN_NAME		*/			if (!$rs) return false;		$foreign_keys = array();	 	 		while (!$rs->EOF) {			if (strtoupper(trim($rs->fields[2])) == $table && (!$schema || strtoupper($rs->fields[1]) == $schema)) {				if (!is_array($foreign_keys[$rs->fields[5].'.'.$rs->fields[6]])) 					$foreign_keys[$rs->fields[5].'.'.$rs->fields[6]] = array();				$foreign_keys[$rs->fields[5].'.'.$rs->fields[6]][$rs->fields[7]] = $rs->fields[3];	 					}			$rs->MoveNext();		}		$rs->Close();		return $foreign_key;	}			function &MetaTables($ttype=false,$schema=false)	{	global $ADODB_FETCH_MODE;			$savem = $ADODB_FETCH_MODE;		$ADODB_FETCH_MODE = ADODB_FETCH_NUM;		$qid = db2_tables($this->_connectionID);				$rs = new ADORecordSet_db2($qid);				$ADODB_FETCH_MODE = $savem;		if (!$rs) {			$false = false;			return $false;		}				$arr =& $rs->GetArray();				$rs->Close();		$arr2 = array();				if ($ttype) {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲自拍偷拍综合| 国产大片一区二区| 亚洲h动漫在线| 午夜欧美视频在线观看| 制服.丝袜.亚洲.中文.综合| 欧美亚洲综合另类| 欧美写真视频网站| 日韩av一级电影| 日韩和欧美的一区| 五月激情综合婷婷| 91麻豆精品国产91久久久更新时间 | 精品一区二区三区蜜桃| 免费成人av在线播放| 日韩高清一级片| 国产精品久久久久久亚洲伦| 欧美性猛交一区二区三区精品| 色欧美日韩亚洲| 欧美日产国产精品| 日韩一级免费一区| 91免费看`日韩一区二区| 91美女在线看| jiyouzz国产精品久久| 美女视频黄免费的久久 | 欧美色精品在线视频| 成人午夜电影网站| 91成人免费电影| 精品久久国产字幕高潮| 欧美放荡的少妇| 国产精品欧美精品| 午夜a成v人精品| 国产一二三精品| 欧美性猛片aaaaaaa做受| 日韩欧美在线观看一区二区三区| 欧美三级电影在线观看| 亚洲精品在线观| 久久亚洲精华国产精华液 | 日韩区在线观看| 欧美老肥妇做.爰bbww| 国产网红主播福利一区二区| 亚洲成人三级小说| 亚洲国产aⅴ成人精品无吗| 自拍偷在线精品自拍偷无码专区| 久久精品国产77777蜜臀| 99re这里只有精品6| 欧美xxxx老人做受| 久久色.com| 男人操女人的视频在线观看欧美| 奇米影视一区二区三区小说| 日韩专区在线视频| 一本久久a久久精品亚洲| 久久精品日韩一区二区三区| 国产亚洲制服色| 欧美国产精品一区二区| 亚洲黄色小说网站| 五月天一区二区| 国产一区二区三区美女| 成人激情黄色小说| 久久九九久久九九| 久久精品72免费观看| 这里只有精品免费| 亚洲综合免费观看高清完整版| 色婷婷av一区二区| 亚洲欧美综合在线精品| 暴力调教一区二区三区| 在线观看av一区二区| 日韩午夜激情视频| 亚洲欧洲日韩av| 成人福利在线看| 综合久久久久综合| 美女www一区二区| 91福利国产精品| 亚洲精品videosex极品| 蓝色福利精品导航| 国产欧美精品在线观看| 本田岬高潮一区二区三区| 欧美电视剧在线观看完整版| 精品系列免费在线观看| 欧美日韩一区二区在线观看| 久久丝袜美腿综合| 免费精品99久久国产综合精品| 成人免费视频播放| 亚洲最色的网站| 欧美一级日韩免费不卡| 国产福利一区二区三区在线视频| 中文字幕av免费专区久久| 91猫先生在线| 蜜臀av一区二区在线免费观看 | 欧美精品在线观看一区二区| 久久综合狠狠综合久久激情| 91视频你懂的| 久久久久久日产精品| 日韩国产在线观看一区| 中文字幕乱码亚洲精品一区| 色哟哟一区二区三区| 中文字幕视频一区二区三区久| 激情综合网最新| 亚洲国产色一区| 国产色91在线| 日韩欧美国产电影| 在线观看免费一区| 国产免费观看久久| 欧美性大战久久| 伊人开心综合网| 欧美无砖砖区免费| 91在线视频免费观看| 激情六月婷婷久久| 26uuu欧美| 在线视频一区二区三区| 亚洲一二三四在线观看| 欧美激情在线看| 日本精品裸体写真集在线观看| 亚洲一区二区四区蜜桃| 日韩欧美亚洲国产精品字幕久久久| 在线免费观看成人短视频| 日产国产欧美视频一区精品| 亚洲国产精品久久久男人的天堂| 综合久久综合久久| 337p日本欧洲亚洲大胆精品| 国产一区亚洲一区| 中文字幕一区二区不卡| 国产精品久久久久永久免费观看 | 亚洲欧洲中文日韩久久av乱码| 久久亚洲私人国产精品va媚药| 91麻豆精品国产综合久久久久久| 麻豆精品视频在线观看免费| 久久婷婷成人综合色| 久久综合久久综合亚洲| 欧美性色黄大片手机版| 国产精品66部| 国产成人鲁色资源国产91色综| 中文字幕不卡在线播放| 精品久久久网站| jvid福利写真一区二区三区| 91在线看国产| 国产成人在线影院| 成人性视频网站| 色噜噜狠狠色综合中国| 欧美日韩国产精品自在自线| 777奇米成人网| 91久久国产最好的精华液| 国产大片一区二区| 欧美中文字幕久久| 久久亚洲精品小早川怜子| 国产精品午夜久久| 亚洲国产精品一区二区久久恐怖片| 精品精品国产高清一毛片一天堂| 欧美一区二区视频免费观看| 国产色产综合产在线视频| 亚洲自拍偷拍九九九| 久久97超碰色| 欧美艳星brazzers| 国产婷婷精品av在线| 偷拍日韩校园综合在线| 久久国产精品99久久人人澡| 国产成人av电影免费在线观看| 欧美色精品在线视频| 国产精品毛片久久久久久| 国产女人水真多18毛片18精品视频 | 91免费版pro下载短视频| 色婷婷综合激情| 日韩久久久久久| 欧美一区日本一区韩国一区| 国产欧美日韩在线| 蜜桃av一区二区在线观看| 日韩精品成人一区二区在线| 免费xxxx性欧美18vr| 欧美性一区二区| 91精品婷婷国产综合久久性色 | 欧美午夜电影网| 欧美日韩国产一级二级| 91精品国产乱码| 久久久久国产精品免费免费搜索| 亚洲大尺度视频在线观看| 亚洲电影一区二区| 色哟哟亚洲精品| 国产精品每日更新在线播放网址 | 69av一区二区三区| 亚洲精品国产无套在线观| 日韩福利视频导航| 欧美精品日日鲁夜夜添| 亚洲一区二区三区小说| 久久精品国产99国产精品| 高清beeg欧美| 中文字幕欧美区| av成人动漫在线观看| 亚洲欧美日韩国产成人精品影院| 午夜电影网一区| 欧美成人精品二区三区99精品| 国模冰冰炮一区二区| 国产丝袜在线精品| 99国内精品久久| 亚洲综合丁香婷婷六月香| 欧美四级电影网| 中文字幕一区二区在线播放| 免费看黄色91| 国产精品乱码久久久久久| 一本一道波多野结衣一区二区| 26uuu欧美| 色94色欧美sute亚洲13| 日韩精品视频网站|