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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? adodb-db2.inc.php

?? asterisk用 的voip記費(fèi)軟件
?? PHP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
<?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) {

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜芽一区二区三区| 欧美日本视频在线| 久久国产福利国产秒拍| 首页国产欧美日韩丝袜| 日日摸夜夜添夜夜添精品视频| 国产欧美一二三区| 国产精品欧美一区二区三区| 欧美激情一区不卡| 亚洲美女在线一区| 亚洲一区二区三区国产| 亚洲精品视频观看| 午夜影院在线观看欧美| 蜜桃av一区二区| 男人的天堂亚洲一区| 久久99久久99精品免视看婷婷 | 成人免费av资源| 国产一区欧美二区| 国内外成人在线| av在线不卡观看免费观看| 韩国欧美一区二区| 成人免费看视频| 欧美日韩免费在线视频| 色哟哟欧美精品| 欧美一区二区福利在线| 精品理论电影在线观看 | 成人app网站| 在线观看日韩高清av| 欧美亚洲图片小说| 久久伊99综合婷婷久久伊| 国产日韩av一区二区| 亚洲视频香蕉人妖| 亚洲精品欧美二区三区中文字幕| 亚洲成人av一区| 日韩av电影天堂| 国产毛片一区二区| 91成人免费网站| 久久先锋影音av| 午夜在线成人av| 99久久99久久精品国产片果冻| 51精品国自产在线| 国产精品国产成人国产三级| 日韩高清中文字幕一区| 99久久伊人精品| 精品粉嫩aⅴ一区二区三区四区| 国产视频视频一区| 国产精品污网站| 久久精品国产亚洲a| 色999日韩国产欧美一区二区| 精品国产乱码久久久久久影片| 亚洲欧美中日韩| 另类人妖一区二区av| 日本精品一区二区三区高清 | 精品成人一区二区| 亚洲永久精品大片| 精油按摩中文字幕久久| 91女神在线视频| 亚洲国产精华液网站w| 久久福利资源站| 91精品国产综合久久久久久久久久 | 丁香婷婷深情五月亚洲| 欧美一区在线视频| 亚洲图片有声小说| 在线观看欧美日本| 一区二区三区免费在线观看| 不卡一区二区三区四区| 久久精品欧美日韩| 国产在线国偷精品免费看| 日韩三级精品电影久久久| 午夜精品久久久久| 欧美疯狂做受xxxx富婆| 亚洲国产精品一区二区www| 99久久99久久精品国产片果冻| 国产日韩欧美精品在线| 婷婷中文字幕综合| 色噜噜狠狠色综合中国| 亚洲另类色综合网站| 国产精品1区2区| 日韩欧美在线不卡| 国内精品伊人久久久久av一坑| 26uuu另类欧美亚洲曰本| 狠狠色狠狠色综合系列| 久久久久九九视频| 成人福利在线看| 亚洲天堂免费看| 欧美丝袜丝nylons| 日韩电影一二三区| 久久久久久久久久美女| 成人深夜视频在线观看| 亚洲三级视频在线观看| 欧美日韩精品一区视频| 石原莉奈一区二区三区在线观看| 欧美剧情片在线观看| 精品在线观看免费| 中文字幕欧美三区| 91色综合久久久久婷婷| 亚洲在线免费播放| 91精品国模一区二区三区| 美国欧美日韩国产在线播放| 欧美精品亚洲二区| 国产盗摄女厕一区二区三区| 亚洲日本在线看| 欧美三级韩国三级日本一级| 久久99精品久久久久久国产越南| 2欧美一区二区三区在线观看视频| 国产精品影视在线观看| 中文字幕一区在线| 欧美三级视频在线| 日韩高清电影一区| 国产亚洲一二三区| 91女人视频在线观看| 无码av免费一区二区三区试看| 久久这里只精品最新地址| 91亚洲男人天堂| 麻豆一区二区三| 成人欧美一区二区三区黑人麻豆| 欧美日韩不卡在线| proumb性欧美在线观看| 日本vs亚洲vs韩国一区三区| 中文字幕一区二区三区在线播放 | 亚洲精品第1页| 久久综合九色综合97_久久久| 色婷婷久久久久swag精品 | 91视视频在线观看入口直接观看www | 久久久久久久久久美女| 色老综合老女人久久久| 国产麻豆精品在线观看| 肉丝袜脚交视频一区二区| √…a在线天堂一区| 欧美α欧美αv大片| 欧美日韩精品一区二区在线播放| 国产99久久久精品| 精品一区二区成人精品| 日韩精品午夜视频| 亚洲一线二线三线视频| 综合欧美亚洲日本| 国产性天天综合网| xfplay精品久久| 日韩色视频在线观看| 欧美三级三级三级爽爽爽| 91成人免费在线视频| 欧洲中文字幕精品| 在线看国产一区二区| 99re这里只有精品首页| 国产精品一区二区久久不卡| 免费高清视频精品| 天天影视色香欲综合网老头| 一区二区三区电影在线播| 亚洲人成7777| 亚洲综合在线第一页| 亚洲韩国一区二区三区| 午夜免费久久看| 性感美女久久精品| 视频一区二区不卡| 麻豆精品视频在线观看| 久久aⅴ国产欧美74aaa| 国产一区高清在线| 高清成人在线观看| www.亚洲精品| 色婷婷久久久久swag精品| 欧美在线综合视频| 91精品国产一区二区人妖| 欧美一级黄色片| www久久久久| 中文字幕乱码久久午夜不卡| 亚洲桃色在线一区| 一区二区免费在线| 日韩成人午夜电影| 国产在线一区二区综合免费视频| 国产成人自拍网| 91丨porny丨中文| 91精品国产综合久久精品性色| 精品国精品国产| 国产精品免费看片| 亚洲在线观看免费| 久久99国产精品久久| 成人午夜视频在线| 欧美午夜片在线观看| 精品剧情v国产在线观看在线| 国产午夜精品一区二区三区嫩草| 久久久久国产精品厨房| 亚洲综合区在线| 美女视频一区二区三区| 国产成人av一区| 欧美性生交片4| 久久久精品tv| 亚洲国产欧美日韩另类综合 | 日韩一区二区三区在线观看| 久久久久88色偷偷免费| 亚洲天天做日日做天天谢日日欢 | 99麻豆久久久国产精品免费| 欧美嫩在线观看| 精品粉嫩超白一线天av| 亚洲美女屁股眼交| 蜜臀av一级做a爰片久久| www.色精品| 欧美成人女星排行榜| 亚洲午夜一区二区| 国产成人精品www牛牛影视| 欧美日韩aaaaa| 中文字幕一区二区三中文字幕|