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

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

?? adodb-db2.inc.php

?? asterisk用 的voip記費軟件
?? 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一区二区三区免费野_久草精品视频
久久精品夜色噜噜亚洲a∨| 日韩一区二区在线免费观看| 国产精品一区二区黑丝| 久久99精品久久久久久| 美腿丝袜亚洲色图| 麻豆精品视频在线观看视频| 久久91精品国产91久久小草| 久久成人精品无人区| 韩国成人精品a∨在线观看| 精品午夜一区二区三区在线观看| 国产一区二区三区观看| 国产精品18久久久久久久久| 成人黄色电影在线 | 亚洲丝袜另类动漫二区| 亚洲欧美日本韩国| 日韩精品电影在线| 国产精品一区二区在线看| 国产xxx精品视频大全| 一本大道久久a久久精品综合| 在线看国产一区二区| 日韩欧美国产一区二区在线播放| 欧美精品一区二| 国产精品久久久久久亚洲伦| 一区二区三区美女| 精品一区二区日韩| 色哟哟国产精品免费观看| 91麻豆精品国产91久久久更新时间| 欧美一级日韩不卡播放免费| 欧美国产日韩亚洲一区| 五月激情六月综合| 波多野结衣精品在线| 欧美一区二区啪啪| 国产精品高清亚洲| 蜜桃在线一区二区三区| 99re视频精品| 日韩一级在线观看| 亚洲精品一二三四区| 激情综合亚洲精品| 欧美制服丝袜第一页| 国产婷婷色一区二区三区四区 | 中文字幕精品一区二区精品绿巨人| 亚洲日本韩国一区| 国产一区二区三区四区五区入口 | 日韩精品一区在线观看| 日韩一区中文字幕| 国产成人免费网站| 日韩美女在线视频| 一区二区三区中文在线观看| 国产美女一区二区三区| 欧美精品色一区二区三区| 国产精品视频yy9299一区| 欧美aⅴ一区二区三区视频| 99国产精品久| 亚洲国产岛国毛片在线| 欧美日韩高清一区二区三区| 91精品婷婷国产综合久久性色| 久久亚洲影视婷婷| 无码av中文一区二区三区桃花岛| 成人激情视频网站| 国产日韩欧美电影| 国产精品香蕉一区二区三区| 欧美一区二区视频在线观看2020| 一区二区三区日韩欧美精品| eeuss鲁片一区二区三区在线观看| 精品成a人在线观看| 日本视频一区二区| 欧美区视频在线观看| 亚洲精品国产高清久久伦理二区| 成人深夜视频在线观看| 国产性天天综合网| 国产另类ts人妖一区二区| 精品成人a区在线观看| 国产综合色视频| av一区二区三区黑人| 国产美女精品人人做人人爽| 欧美一区欧美二区| 午夜精品福利一区二区三区av| 99久久精品久久久久久清纯| 国产精品灌醉下药二区| 懂色一区二区三区免费观看| 日本一区二区成人在线| 国产69精品久久777的优势| 久久久久久久国产精品影院| 国产黑丝在线一区二区三区| 中文字幕免费不卡| 91亚洲大成网污www| 樱桃国产成人精品视频| 欧美精品丝袜中出| 毛片一区二区三区| 欧美精品一区二区三区在线播放| 国产麻豆成人精品| 一区视频在线播放| 在线免费观看一区| 免费人成在线不卡| 国产日韩成人精品| 日本韩国欧美一区| 欧美aaaaaa午夜精品| 久久精品免视看| 91麻豆产精品久久久久久| 亚洲一区二区视频在线观看| 日韩欧美中文一区| 成人精品国产免费网站| 亚洲成人av资源| 欧美zozozo| 91色porny在线视频| 丝袜脚交一区二区| 久久精品在线观看| 欧美天天综合网| 国产精品一区免费在线观看| 亚洲欧美色图小说| 日韩女优av电影| 99视频精品全部免费在线| 视频一区二区三区在线| 国产精品日产欧美久久久久| 欧美一三区三区四区免费在线看| 国产精品66部| 日韩精品一二三四| 亚洲乱码精品一二三四区日韩在线| 日韩一区二区免费电影| 91免费观看国产| 精品一二三四区| 日韩成人av影视| 亚洲男帅同性gay1069| 久久久一区二区| 日韩精品中文字幕一区| 欧美日韩亚洲国产综合| 不卡av在线免费观看| 久久国产精品99久久久久久老狼| 一区二区三区不卡视频| 国产精品伦理在线| 欧美成人a在线| 欧美精品自拍偷拍| 色综合中文字幕国产| 成人午夜免费电影| 国产很黄免费观看久久| 国产在线观看免费一区| 麻豆成人久久精品二区三区小说| 一区二区三区欧美| 亚洲人吸女人奶水| 国产精品私人影院| 国产精品久久久久久久久免费樱桃| 久久久精品黄色| 久久婷婷国产综合国色天香 | 日韩一级在线观看| 在线电影一区二区三区| 欧美日韩1区2区| 精品视频1区2区3区| 欧美色精品天天在线观看视频| 色婷婷av一区二区三区之一色屋| 91美女精品福利| 欧美优质美女网站| 69av一区二区三区| 欧美色图在线观看| 欧美精选午夜久久久乱码6080| 51久久夜色精品国产麻豆| 欧美电影免费观看高清完整版在线观看| 欧美喷潮久久久xxxxx| 6080午夜不卡| 日韩欧美二区三区| 国产日韩成人精品| 18成人在线观看| 亚洲精品日韩专区silk| 亚洲成av人影院| 奇米888四色在线精品| 久久精品国产久精国产爱| 国产在线不卡视频| 成人黄动漫网站免费app| 91极品视觉盛宴| 69成人精品免费视频| 久久精品一区二区三区不卡| 国产精品成人在线观看| 亚洲va欧美va国产va天堂影院| 日韩电影在线看| 国产美女娇喘av呻吟久久| 99国产精品久久久久| 欧美日韩精品一区视频| 日韩免费观看高清完整版| 国产精品毛片久久久久久| 亚洲午夜影视影院在线观看| 精品一区二区在线播放| av高清久久久| 在线不卡免费欧美| 国产欧美日韩久久| 亚洲妇女屁股眼交7| 国产精品资源在线看| 欧美主播一区二区三区| 久久综合九色综合欧美98| 一级做a爱片久久| 韩日av一区二区| 欧美日本一区二区在线观看| 国产欧美中文在线| 日韩激情一区二区| 色婷婷av一区二区三区gif | 亚洲在线观看免费| 国产一区二区三区久久悠悠色av| 欧洲激情一区二区| 中文字幕精品在线不卡| 精品无人码麻豆乱码1区2区| 欧美三区在线观看| 亚洲视频一区在线|