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

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

?? 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) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品18久久久久久久久| 久久99久久精品欧美| 欧美日韩国产天堂| 久久99精品久久久| 国产精品久久久久久久久动漫 | 日韩va欧美va亚洲va久久| 久久综合视频网| 91浏览器在线视频| 蜜臀av国产精品久久久久| 国产视频一区二区三区在线观看 | 午夜精品久久一牛影视| 日韩精品专区在线影院观看| www.成人网.com| 午夜一区二区三区在线观看| 久久久国产精品不卡| 欧美日韩在线播放一区| 成人av小说网| 久久福利资源站| 午夜久久久影院| 亚洲人成小说网站色在线| 精品处破学生在线二十三| 色噜噜夜夜夜综合网| 成人免费黄色在线| 久久99精品国产.久久久久久| 洋洋成人永久网站入口| 国产日韩精品一区二区三区在线| 欧美日韩精品一区二区在线播放| www.日韩精品| 国产麻豆精品视频| 久久精品国产一区二区三| 亚洲国产精品久久人人爱| 国产精品素人一区二区| 久久亚洲捆绑美女| 日韩一级成人av| 91精品蜜臀在线一区尤物| 色爱区综合激月婷婷| 成人v精品蜜桃久久一区| 国产成人鲁色资源国产91色综| 久久99精品网久久| 久久99久久久久| 国产一区二区0| 国产又粗又猛又爽又黄91精品| 日韩中文字幕麻豆| 免费人成精品欧美精品| 蜜臀av性久久久久蜜臀aⅴ四虎| 日韩电影一二三区| 日本美女视频一区二区| 日本va欧美va精品发布| 久久黄色级2电影| 国产精品一二一区| 成人av免费在线| 色综合久久中文字幕| 欧美在线观看视频一区二区 | 亚洲三级电影网站| 亚洲va欧美va人人爽午夜| 日韩不卡在线观看日韩不卡视频| 日韩电影在线免费看| 激情国产一区二区| 91在线你懂得| 欧美一区二区高清| 国产三级精品视频| 亚洲综合一二区| 久久精品国产亚洲5555| 成人国产亚洲欧美成人综合网| 日本久久电影网| 欧美成人欧美edvon| 亚洲欧洲日产国码二区| 青青青爽久久午夜综合久久午夜| 国产美女在线精品| 欧美色区777第一页| 国产视频在线观看一区二区三区| 亚洲精品国产a久久久久久 | 中文字幕一区二区三区在线观看 | 成人97人人超碰人人99| 欧美日韩国产影片| 国产精品电影院| 久久国产精品露脸对白| 欧美系列一区二区| 国产精品网曝门| 黑人巨大精品欧美黑白配亚洲| 欧美最猛性xxxxx直播| 国产女同性恋一区二区| 奇米色777欧美一区二区| 日本丶国产丶欧美色综合| 久久久久久免费| 寂寞少妇一区二区三区| 欧美日精品一区视频| 亚洲毛片av在线| av不卡免费在线观看| 久久网这里都是精品| 久99久精品视频免费观看| 91精品国模一区二区三区| 亚洲精品你懂的| 色婷婷av一区二区三区大白胸| 国产精品免费网站在线观看| 国产福利一区在线| 26uuu另类欧美亚洲曰本| 国产一区二区调教| 久久色在线观看| 国产91对白在线观看九色| 久久久久久麻豆| 国产一区二区不卡| 国产婷婷一区二区| 国产一区二区三区蝌蚪| 久久久久久亚洲综合影院红桃 | 免费观看在线色综合| 日韩一区二区在线观看视频| 日韩黄色片在线观看| 日韩色视频在线观看| 九九视频精品免费| 中文字幕免费一区| 一本到不卡精品视频在线观看| 亚洲三级在线看| 91精品欧美一区二区三区综合在| 免费高清不卡av| 欧美国产欧美综合| 日本电影欧美片| 七七婷婷婷婷精品国产| 91精品国产美女浴室洗澡无遮挡| 亚洲六月丁香色婷婷综合久久 | 国产精品一级片在线观看| 久久久久久99精品| 91视频国产观看| 日韩国产欧美在线视频| 精品999在线播放| 91亚洲国产成人精品一区二区三| 亚洲综合免费观看高清完整版在线 | 精品国产乱码久久久久久影片| 国产美女精品人人做人人爽| ...av二区三区久久精品| 欧美日韩国产首页在线观看| 国产一区二区三区国产| 亚洲精品免费看| 精品久久久久香蕉网| 在线观看亚洲成人| 国产精品一区三区| 午夜国产精品一区| 综合亚洲深深色噜噜狠狠网站| 日韩限制级电影在线观看| 91一区二区三区在线观看| 看片的网站亚洲| 亚洲国产日韩av| 亚洲图片激情小说| 精品久久一区二区| 4438亚洲最大| 在线精品视频免费观看| 成人一道本在线| 精品一区二区影视| 五月天亚洲精品| 亚洲精选视频在线| 国产欧美一区二区精品婷婷| 宅男在线国产精品| 欧美性大战久久久久久久蜜臀| 视频一区视频二区中文字幕| 国产欧美一区二区三区在线老狼| 日韩一区二区电影| 日韩午夜激情视频| 欧美精品 国产精品| 欧美日韩精品一区视频| 欧美在线色视频| 欧美日韩aaa| 欧美一区二区三区四区高清| 欧美性一级生活| 欧美日韩dvd在线观看| 欧美男人的天堂一二区| 欧美日韩国产在线观看| 欧美久久婷婷综合色| 日韩欧美中文字幕公布| 欧美不卡一区二区三区| 精品国产乱码久久久久久图片| 亚洲精品一区二区三区影院| www国产成人免费观看视频 深夜成人网| 日韩欧美你懂的| 国产欧美一区二区精品仙草咪 | 国精产品一区一区三区mba桃花 | 欧美激情一区二区三区在线| 国产农村妇女毛片精品久久麻豆| 国产三级欧美三级日产三级99 | 欧美在线视频不卡| 日韩一区二区三免费高清| 日韩一本二本av| 国产精品麻豆久久久| 一区二区三区在线免费视频| 日韩电影在线免费观看| 国产高清无密码一区二区三区| 91香蕉视频mp4| 正在播放亚洲一区| 国产精品久久久久久亚洲毛片| 一卡二卡三卡日韩欧美| 韩国女主播成人在线观看| 99精品视频在线观看免费| 在线看一区二区| 久久亚洲欧美国产精品乐播| 亚洲男人都懂的| 国产美女娇喘av呻吟久久| 色综合天天做天天爱| 精品国产精品网麻豆系列| 亚洲免费看黄网站| 国产成人免费xxxxxxxx| 欧美高清视频不卡网|