亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
一区二区在线观看免费视频播放| 色诱视频网站一区| 国产成人av一区二区三区在线 | 欧美三级日韩三级| 日韩一区二区三区电影在线观看| 久久久久久久久一| 亚洲视频免费在线| 日产欧产美韩系列久久99| 国内精品久久久久影院色| 一本大道av伊人久久综合| 91精品国产欧美一区二区18| 国产欧美日韩久久| 午夜久久福利影院| 国产成人精品免费一区二区| 欧美精品久久99久久在免费线| 久久日一线二线三线suv| 亚洲蜜臀av乱码久久精品| 久久99精品久久久久久国产越南 | 国产精品成人免费| 奇米色777欧美一区二区| 99久久综合色| 精品欧美久久久| 亚洲综合一区二区精品导航| 国产精品亚洲视频| 91麻豆精品国产91久久久久| 日韩一区在线播放| 久久爱www久久做| 欧洲精品视频在线观看| 国产亚洲午夜高清国产拍精品| 亚洲国产精品视频| 成人性视频免费网站| 欧美一区二区网站| 一区二区三区国产豹纹内裤在线| 国产精品1区二区.| 欧美一级一区二区| 亚洲综合一二区| 99精品欧美一区| 日韩欧美区一区二| 午夜精品久久久久久久蜜桃app| 大桥未久av一区二区三区中文| 日韩一区二区三区免费观看| 亚洲一区二区三区在线看| 大美女一区二区三区| 欧美精品一区二区不卡| 日韩精品1区2区3区| 91福利国产精品| 欧美国产精品v| 国产精品456露脸| 精品国产91洋老外米糕| 日韩电影在线免费看| 欧美亚洲综合久久| 亚洲精品欧美专区| av成人老司机| 中文字幕一区二区三区在线播放 | 2021国产精品久久精品| 日日摸夜夜添夜夜添国产精品 | 亚洲午夜精品17c| 91免费视频大全| 国产欧美日韩视频一区二区| 久久99精品国产麻豆不卡| 日韩一级二级三级精品视频| 日本怡春院一区二区| 欧美丰满美乳xxx高潮www| 午夜视频一区二区三区| 欧美喷水一区二区| 性做久久久久久免费观看欧美| 日本道免费精品一区二区三区| 亚洲精品中文字幕乱码三区| 一本大道久久a久久精二百 | 精品视频123区在线观看| 亚洲精品成人a在线观看| 91成人网在线| 亚洲曰韩产成在线| 欧美老肥妇做.爰bbww| 亚洲va国产va欧美va观看| 欧美日韩午夜在线视频| 肉肉av福利一精品导航| 日韩欧美亚洲一区二区| 精品无码三级在线观看视频| 久久亚洲免费视频| 国产精品影视网| 国产精品久久久久桃色tv| 91在线精品一区二区三区| 伊人一区二区三区| 欧美性欧美巨大黑白大战| 天堂久久一区二区三区| 欧美电影免费观看高清完整版 | 国产女人aaa级久久久级| 成人免费毛片片v| 亚洲久本草在线中文字幕| 欧美视频一区二区三区四区| 日韩精品欧美精品| 欧美videossexotv100| 国产传媒一区在线| 国产精品灌醉下药二区| 欧美在线一二三四区| 日本系列欧美系列| 久久久久一区二区三区四区| 99re视频精品| 午夜国产精品影院在线观看| 日韩精品一区二区三区四区| 高清不卡一区二区| 亚洲午夜免费视频| 精品国精品国产| av成人免费在线观看| 日韩福利视频网| 国产日产亚洲精品系列| 色婷婷综合视频在线观看| 丝瓜av网站精品一区二区| 久久婷婷国产综合精品青草| 91免费在线播放| 免费成人在线网站| 1024成人网色www| 欧美高清hd18日本| 成人激情动漫在线观看| 亚洲一二三四在线观看| 欧美精品一区二区在线观看| 99视频精品在线| 日韩中文字幕一区二区三区| 国产日产欧美一区| 欧美久久高跟鞋激| 国产成人av福利| 丝袜美腿一区二区三区| 国产精品女人毛片| 日韩一区二区视频| jlzzjlzz亚洲日本少妇| 美日韩一区二区三区| 亚洲欧美在线另类| 日韩精品自拍偷拍| 在线免费观看一区| 国产成人午夜精品影院观看视频| 亚洲成精国产精品女| 中文字幕一区二区三区色视频| 欧美一三区三区四区免费在线看 | 亚洲欧美激情插| 精品嫩草影院久久| 欧美色大人视频| 丁香六月久久综合狠狠色| 另类小说图片综合网| 亚洲永久免费av| 国产精品超碰97尤物18| 精品剧情v国产在线观看在线| 欧美在线观看视频在线| 播五月开心婷婷综合| 精品一区二区三区在线视频| 亚洲一区二区欧美日韩 | 91免费看视频| 国产高清不卡一区二区| 麻豆91在线看| 亚洲二区视频在线| 亚洲丝袜美腿综合| 中文av一区特黄| 久久精品一区二区三区四区| 欧美一区二区三区成人| 欧美视频中文字幕| 色综合天天狠狠| 成人激情开心网| 国产精品123| 黄色日韩三级电影| 美女视频网站久久| 日一区二区三区| 午夜欧美在线一二页| 一区二区成人在线| 亚洲黄色av一区| 亚洲视频中文字幕| 日韩美女视频一区二区| 国产精品久久久久婷婷二区次| 久久久噜噜噜久久中文字幕色伊伊| 日韩欧美成人激情| 欧美刺激午夜性久久久久久久| 欧美日韩你懂的| 91豆麻精品91久久久久久| 一本大道久久a久久综合婷婷| 99精品桃花视频在线观看| 国产91丝袜在线播放| 国产成人亚洲综合a∨婷婷 | 国产免费观看久久| 久久久久久久久伊人| 久久久噜噜噜久久人人看| 欧美精品一区二区三区在线| 久久这里只有精品视频网| 精品99999| 国产亚洲婷婷免费| 国产精品人成在线观看免费 | 99久精品国产| 99国产精品久久久久| 99精品欧美一区二区蜜桃免费| 91蜜桃免费观看视频| 91香蕉视频污在线| 在线观看国产精品网站| 欧美在线制服丝袜| 制服丝袜在线91| 日韩欧美成人午夜| 亚洲精品一区二区三区精华液| 久久久91精品国产一区二区精品| 国产欧美精品一区二区三区四区| 国产精品久久久一本精品 | 欧美综合色免费| 欧美美女bb生活片| 欧美大片拔萝卜|