亚洲欧美第一页_禁久久精品乱码_粉嫩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| 日本高清不卡aⅴ免费网站| 欧美日韩一卡二卡三卡| 综合久久久久综合| 99精品久久只有精品| 亚洲色图视频网站| 色综合视频在线观看| 亚洲人成7777| 在线观看免费亚洲| 亚洲高清久久久| 欧美日韩国产天堂| 久久激情五月激情| 国产欧美一区视频| 色88888久久久久久影院野外 | 国产成人综合在线| 国产精品天干天干在线综合| 91视频精品在这里| 亚洲一二三区视频在线观看| 欧美一区二区性放荡片| 开心九九激情九九欧美日韩精美视频电影| 日韩欧美一区中文| 国产乱理伦片在线观看夜一区 | 欧美一区日韩一区| 极品销魂美女一区二区三区| 国产精品久久久久永久免费观看| 91浏览器在线视频| 日韩和的一区二区| 久久精品水蜜桃av综合天堂| 99久久免费精品高清特色大片| 亚洲国产cao| 欧美精品一区二区三区高清aⅴ| 成人免费视频一区二区| 亚洲成人www| 亚洲成人777| 欧美高清在线精品一区| 欧美亚洲高清一区| 国产精品18久久久久久久网站| 亚洲综合色成人| 日韩免费看的电影| 色婷婷av一区二区三区软件| 久久99国产精品久久99| 亚洲欧洲av在线| 精品久久久三级丝袜| av日韩在线网站| 人人爽香蕉精品| 一区二区三区影院| 精品1区2区在线观看| 在线观看不卡视频| 国产高清不卡二三区| 午夜精品久久久久久久久久久| 国产欧美精品在线观看| 911精品国产一区二区在线| 成人黄色小视频在线观看| 日韩精品视频网站| 一区二区三区中文字幕电影 | 成人午夜电影久久影院| 青青草97国产精品免费观看 | 亚洲特级片在线| 久久久不卡影院| 精品国产1区二区| 欧美videos大乳护士334| 欧美视频三区在线播放| 色综合久久88色综合天天6| 粉嫩aⅴ一区二区三区四区五区| 韩国精品主播一区二区在线观看 | 欧美电视剧免费观看| 欧美人妇做爰xxxⅹ性高电影| 在线精品亚洲一区二区不卡| 91女厕偷拍女厕偷拍高清| 国产在线播放一区三区四| 欧美成人乱码一区二区三区| 日韩天堂在线观看| 在线亚洲高清视频| 国产精品白丝jk黑袜喷水| 激情图片小说一区| 天天综合色天天综合| 国产精品成人免费精品自在线观看 | 一区二区三区欧美日韩| 日韩成人dvd| 亚洲午夜羞羞片| 亚洲欧美激情视频在线观看一区二区三区 | www.日韩精品| 粉嫩绯色av一区二区在线观看| 日本成人在线网站| 亚洲第一会所有码转帖| 亚洲视频在线一区| 国产精品视频观看| 国产精品久久久久精k8 | 日本一区二区在线不卡| 日韩视频中午一区| 日韩一区二区三区四区五区六区| 欧洲日韩一区二区三区| 99久久精品免费精品国产| 高清免费成人av| 91丨九色丨蝌蚪丨老版| 成人看片黄a免费看在线| 成人性视频免费网站| 国产成人免费视| 国产成人亚洲综合a∨婷婷 | 成人ar影院免费观看视频| 成人白浆超碰人人人人| 国产主播一区二区| 丝袜美腿亚洲一区| 国产精品亚洲а∨天堂免在线| 国产伦精一区二区三区| 经典三级在线一区| 国产精品一级片| 91美女在线观看| 欧美性猛片xxxx免费看久爱| 欧美日韩中文国产| 欧美一区日本一区韩国一区| 欧美少妇bbb| 久久综合成人精品亚洲另类欧美| 久久日韩粉嫩一区二区三区| 久久网站最新地址| 中文字幕电影一区| 中文字幕一区在线| 亚洲bt欧美bt精品777| 蜜桃av一区二区三区电影| 精品中文字幕一区二区小辣椒| 美腿丝袜亚洲一区| 色综合久久久久综合99| 在线不卡的av| 日本成人在线网站| 精品一区二区在线观看| 色综合欧美在线视频区| 69av一区二区三区| 国产校园另类小说区| 国产精品成人一区二区三区夜夜夜| 日韩电影一区二区三区四区| 久久爱另类一区二区小说| 国产精品18久久久久久久网站| 99精品视频在线免费观看| 风间由美性色一区二区三区| 91精品中文字幕一区二区三区| 久久老女人爱爱| 亚洲日本中文字幕区| 日本视频在线一区| 不卡一区二区在线| 欧美日韩精品一区二区三区| 久久伊人蜜桃av一区二区| 亚洲欧美日韩中文播放| 六月丁香婷婷久久| 一本久久a久久精品亚洲| 欧美成人精品二区三区99精品| 久久精品一区二区三区四区| 亚洲精品中文在线影院| 视频一区二区中文字幕| 色婷婷亚洲综合| www一区二区| 亚洲国产成人高清精品| 国产在线视频一区二区| 欧美肥妇毛茸茸| 亚洲欧洲av一区二区三区久久| 日韩电影免费在线观看网站| 国内久久精品视频| 日韩一区二区免费电影| 国产精品久久久久久久久快鸭 | 欧美日韩免费观看一区三区| 亚洲国产电影在线观看| 奇米一区二区三区| 一本色道亚洲精品aⅴ| 国产精品福利一区二区三区| 美腿丝袜亚洲综合| 欧美日韩国产综合一区二区三区| 久久精品综合网| 国产凹凸在线观看一区二区| 91精品国产入口| 亚洲精品国产无套在线观| 美脚の诱脚舐め脚责91| 日韩视频一区在线观看| 亚洲一区二区三区三| 91免费视频大全| 久久久蜜桃精品| 激情深爱一区二区| 欧美精品一区二区三区蜜桃| 毛片一区二区三区| 日韩无一区二区| 青椒成人免费视频| 欧美成人vr18sexvr| 日韩一区精品字幕| 欧美男女性生活在线直播观看| 一级中文字幕一区二区| 99精品欧美一区二区三区小说| 国产人成亚洲第一网站在线播放| 成人在线视频一区二区| 久久天天做天天爱综合色| 免费在线看一区| 久久综合色综合88| 国内成人自拍视频| 国产片一区二区| 丁香亚洲综合激情啪啪综合| 亚洲精品国产一区二区精华液| 精品国产乱码久久久久久闺蜜| 日韩成人精品视频| 久久久噜噜噜久久人人看 | 亚洲精品视频免费观看| 欧美久久久久久久久| 日韩精品色哟哟| 日韩欧美成人午夜|