亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
99视频精品全部免费在线| 久久精品国产免费看久久精品| 精品蜜桃在线看| 91精品国产综合久久婷婷香蕉| 欧美日韩1区2区| 欧美日韩国产小视频| 在线电影国产精品| 欧美一级二级在线观看| 精品欧美一区二区在线观看| 精品日韩一区二区| 国产精品乱人伦| 一区二区三区欧美| 天天亚洲美女在线视频| 久久99国产精品免费| 懂色av一区二区三区免费看| av电影在线不卡| 欧美精品日韩综合在线| 精品久久五月天| 国产精品久久久久久妇女6080| 一区二区三区精品在线| 午夜精品久久久久久久| 久久国产麻豆精品| 91免费国产在线| 欧美一区二区三区视频在线观看 | 久久精品人人做人人爽人人| 欧美国产禁国产网站cc| 一区二区三区中文字幕精品精品| 天天操天天干天天综合网| 国产又粗又猛又爽又黄91精品| a亚洲天堂av| 欧美一二三四区在线| 国产精品每日更新在线播放网址| 亚洲综合av网| 国产精品资源在线观看| 在线观看亚洲精品| 欧美不卡一区二区三区四区| 国产精品蜜臀在线观看| 美女视频黄久久| 色综合久久久网| 久久欧美中文字幕| 日韩国产精品久久久久久亚洲| 成人午夜精品在线| 精品日韩av一区二区| 一区二区三区免费看视频| 国内精品嫩模私拍在线| 欧美午夜视频网站| 久久综合色婷婷| 丝袜美腿亚洲一区| 日本高清不卡aⅴ免费网站| 精品盗摄一区二区三区| 亚洲成a人v欧美综合天堂| 99国产精品视频免费观看| 精品成a人在线观看| 爽好多水快深点欧美视频| 色综合一区二区| 久久一区二区三区四区| 亚洲不卡av一区二区三区| 91女神在线视频| 国产色婷婷亚洲99精品小说| 精品一区二区三区欧美| 欧美三电影在线| 国产精品色呦呦| 国产精品中文字幕日韩精品| 91精品国产aⅴ一区二区| 亚洲国产欧美日韩另类综合| 91视频你懂的| 亚洲免费av高清| 99久久99久久精品免费观看| 国产精品乱人伦中文| 成人sese在线| 亚洲欧美aⅴ...| 色欧美日韩亚洲| 亚洲狼人国产精品| 色综合色综合色综合色综合色综合| 国产精品午夜在线| 99久久婷婷国产综合精品电影| 国产精品国产馆在线真实露脸| 国产999精品久久久久久| 国产亚洲污的网站| 99久久伊人精品| 亚洲精品第1页| 精品视频1区2区| 免费人成精品欧美精品| 日韩精品一区二区三区swag| 经典三级视频一区| 国产精品电影院| 欧洲精品一区二区| 人妖欧美一区二区| 国产视频一区二区在线观看| 北岛玲一区二区三区四区| 亚洲精品视频在线看| 欧美日韩精品电影| 精品亚洲国产成人av制服丝袜 | 欧美亚洲另类激情小说| 亚洲成国产人片在线观看| 日韩一二三四区| 成人不卡免费av| 午夜精品免费在线| 久久久久久一级片| 在线中文字幕一区二区| 美女视频一区二区| 亚洲国产激情av| 欧美日本在线播放| 国产成人午夜片在线观看高清观看| 国产精品久久久久久久久免费樱桃 | 国产91丝袜在线观看| 一区二区三区在线观看视频| 欧美日韩不卡在线| 国产超碰在线一区| 亚洲一区电影777| 久久精品亚洲精品国产欧美kt∨| 色综合天天综合狠狠| 麻豆一区二区在线| 亚洲精品欧美激情| 久久综合色之久久综合| 欧美日韩一区 二区 三区 久久精品| 看片的网站亚洲| 亚洲人成伊人成综合网小说| 精品国产成人在线影院 | 国产91丝袜在线观看| 亚洲国产日韩精品| 日本一区二区高清| 欧美一区二区三区小说| 色哟哟欧美精品| 国产精品系列在线播放| 午夜视频在线观看一区二区| 最新高清无码专区| 久久久电影一区二区三区| 欧美一区二区三区的| 91福利精品第一导航| 成人免费视频网站在线观看| 美女一区二区三区在线观看| 樱桃国产成人精品视频| 中文天堂在线一区| 精品国产亚洲一区二区三区在线观看| 色香蕉成人二区免费| 成人晚上爱看视频| 国产精品911| 国产一区三区三区| 美日韩黄色大片| 日韩成人av影视| 日韩和欧美一区二区| 婷婷一区二区三区| 午夜激情综合网| 五月综合激情日本mⅴ| 性感美女久久精品| 亚洲国产精品麻豆| 亚洲午夜激情网页| 亚州成人在线电影| 日本不卡在线视频| 美腿丝袜一区二区三区| 麻豆精品精品国产自在97香蕉| 日韩精品电影一区亚洲| 欧美aⅴ一区二区三区视频| 日韩成人一区二区| 极品少妇xxxx精品少妇| 国产一区二区三区美女| 国产suv一区二区三区88区| 国产99久久久久久免费看农村| 成人精品视频.| 北岛玲一区二区三区四区| 色婷婷亚洲一区二区三区| 欧美日韩在线播放三区四区| 3d动漫精品啪啪1区2区免费| 欧美大度的电影原声| 国产清纯在线一区二区www| 国产精品美女久久久久高潮| 亚洲精品国产第一综合99久久| 亚洲精品国久久99热| 亚洲国产成人av网| 久久成人免费网| 粉嫩av一区二区三区粉嫩| 色婷婷精品大视频在线蜜桃视频| 欧美专区在线观看一区| 日韩一区国产二区欧美三区| 久久新电视剧免费观看| 亚洲欧洲制服丝袜| 日韩综合一区二区| 成人精品国产福利| 欧美三级电影在线观看| 久久久精品2019中文字幕之3| 亚洲天堂a在线| 日本成人在线看| 99视频精品免费视频| 日韩欧美在线不卡| 国产精品国产自产拍高清av王其 | 日韩欧美色综合| 日本一区二区综合亚洲| 亚洲成av人片在线观看| 国产乱码精品1区2区3区| 欧美制服丝袜第一页| 精品国产伦一区二区三区观看方式| 亚洲欧洲美洲综合色网| 美女视频一区在线观看| 色偷偷成人一区二区三区91| 日韩欧美国产三级| 一区二区三区蜜桃| 国产91精品露脸国语对白| 欧美一级高清片| 亚洲综合在线电影|