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

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

?? adodb-db2.inc.php

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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99re免费视频精品全部| 欧美人妇做爰xxxⅹ性高电影| 日韩一区二区在线看| 久久久久一区二区三区四区| 欧美三级视频在线| 欧美日韩不卡视频| 欧美成人a在线| 国产精品私人自拍| 一个色妞综合视频在线观看| 亚洲精品伦理在线| 日韩精品电影在线| 午夜一区二区三区在线观看| 狠狠色丁香婷综合久久| 成人a免费在线看| 99re66热这里只有精品3直播| 欧美视频自拍偷拍| 欧美xxx久久| 一区二区高清在线| 日本午夜一本久久久综合| 丁香桃色午夜亚洲一区二区三区| 丁香啪啪综合成人亚洲小说| 777久久久精品| 亚洲三级久久久| 蜜臀av在线播放一区二区三区| 久久99在线观看| 色婷婷亚洲精品| 欧美一级国产精品| 欧美96一区二区免费视频| 奇米精品一区二区三区在线观看| 国产成人亚洲综合a∨猫咪| 亚洲一区二区视频在线| 午夜久久电影网| heyzo一本久久综合| 国产精品麻豆网站| 欧美电视剧在线看免费| 91亚洲国产成人精品一区二区三 | 91在线精品一区二区三区| 亚洲国产精品久久一线不卡| 久久久91精品国产一区二区三区| 欧美影院午夜播放| 成人激情av网| 久久国产免费看| 一区二区三区四区国产精品| 国内精品自线一区二区三区视频| 欧美日韩激情一区| 亚洲视频免费在线观看| 97成人超碰视| 自拍偷拍亚洲欧美日韩| 国产成人在线看| 精品欧美黑人一区二区三区| 久久精品理论片| 欧美日韩一区高清| 天天操天天综合网| 精品国产露脸精彩对白| 国产91精品露脸国语对白| 国产精品国产精品国产专区不蜜| 99久久综合精品| 一区二区三区不卡在线观看| 欧美日韩免费观看一区三区| 日韩精品电影一区亚洲| 久久久91精品国产一区二区精品| 成人在线综合网站| 亚洲久草在线视频| 欧美一卡在线观看| 国产精品一级在线| 一二三区精品福利视频| 91.xcao| 精品中文字幕一区二区小辣椒| 国产精品国产自产拍在线| 国产欧美综合在线观看第十页| 欧美日韩一二三| 国产高清精品久久久久| 波多野结衣中文字幕一区二区三区| 婷婷六月综合亚洲| 国产农村妇女精品| 国产激情精品久久久第一区二区 | 日本精品一级二级| 亚洲欧美激情小说另类| 中文字幕一区二区三中文字幕| 国产日本欧美一区二区| 精品国产乱码久久久久久夜甘婷婷 | 中文欧美字幕免费| jlzzjlzz亚洲日本少妇| 一区二区成人在线视频| 国产欧美日本一区二区三区| 欧美浪妇xxxx高跟鞋交| 99久久久免费精品国产一区二区| 婷婷六月综合亚洲| 欧美国产成人在线| 日韩精品中文字幕在线不卡尤物 | 蜜臀久久久99精品久久久久久| 国产欧美一二三区| 成人av资源在线| 欧美美女黄视频| 欧美精品在线一区二区| 欧美亚洲日本一区| 91黄色免费网站| 色94色欧美sute亚洲13| 欧美综合亚洲图片综合区| 91老师国产黑色丝袜在线| 色综合久久99| 欧美日韩一区国产| 精品日韩成人av| 久久免费国产精品| 精品国产一区二区三区四区四| 国产精品精品国产色婷婷| 久久亚洲精精品中文字幕早川悠里| 亚洲女人的天堂| 日韩欧美中文字幕公布| 欧美午夜精品一区二区蜜桃| 欧美色电影在线| 欧美老年两性高潮| 中文字幕一区二区三区在线播放| 亚洲尤物在线视频观看| 欧美日韩在线直播| 日韩一区和二区| 中文字幕在线不卡| 石原莉奈一区二区三区在线观看| 国产在线精品一区二区| 在线观看91视频| 欧美成人午夜电影| 亚洲欧美一区二区三区极速播放 | 狠狠色丁香婷综合久久| eeuss鲁片一区二区三区| 欧美精品少妇一区二区三区| 国产三级精品三级| 午夜伊人狠狠久久| av在线一区二区三区| 日韩一区二区在线观看视频播放| 日韩一区在线播放| 久久国产精品免费| 精品视频一区二区三区免费| 久久网站最新地址| 日本不卡在线视频| 日韩免费在线观看| 欧美一区二区三区在| 最新中文字幕一区二区三区| 麻豆精品一区二区综合av| 97久久人人超碰| 久久你懂得1024| 免费三级欧美电影| 日本高清成人免费播放| 国产女主播一区| 狠狠色狠狠色综合系列| 91麻豆精品国产91久久久使用方法| 国内精品国产三级国产a久久| 久久亚洲欧美国产精品乐播| 亚洲一区二区精品视频| 另类的小说在线视频另类成人小视频在线 | 日韩va亚洲va欧美va久久| av在线播放不卡| 国产精品视频一二三区| 狠狠色伊人亚洲综合成人| 欧美一区二区三区在线看| 亚洲午夜精品17c| 99精品在线观看视频| 国产精品久久久久三级| 国产精品自产自拍| xf在线a精品一区二区视频网站| 日韩国产精品91| 欧美军同video69gay| 午夜国产精品一区| 欧美午夜精品一区二区三区| 亚洲午夜羞羞片| 欧美色欧美亚洲另类二区| 亚洲制服欧美中文字幕中文字幕| 色激情天天射综合网| 亚洲人成伊人成综合网小说| 色综合久久久久网| 亚洲三级电影网站| 91九色最新地址| 亚洲一区二区欧美激情| 欧美区视频在线观看| 日韩电影网1区2区| 欧美一区二区三区在线电影| 老司机精品视频线观看86| 精品少妇一区二区三区| 国产中文字幕一区| 中文字幕av一区二区三区免费看| 国产91精品免费| 亚洲精品视频一区| 欧美日韩中文字幕一区二区| 日韩中文字幕麻豆| 精品对白一区国产伦| 国产白丝精品91爽爽久久| 国产精品黄色在线观看| 欧美色爱综合网| 蜜桃av噜噜一区| 国产精品欧美一区喷水| 色婷婷狠狠综合| 日韩专区中文字幕一区二区| 精品乱人伦小说| av综合在线播放| 亚洲妇女屁股眼交7| 日韩女优制服丝袜电影| 丁香激情综合国产| 亚洲国产日韩精品| 国产亚洲综合性久久久影院| 色综合激情五月| 蜜桃视频一区二区|