亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲最大成人网4388xx| 欧美剧情片在线观看| 国产欧美一区二区精品秋霞影院 | 国产精品久久久久一区| 成人精品视频一区二区三区尤物| 国产亚洲成aⅴ人片在线观看| 国产最新精品免费| 国产精品美女久久久久av爽李琼| www.亚洲精品| 一区二区三区精品久久久| 中文字幕av资源一区| 成人h动漫精品一区二区| 亚洲三级小视频| 欧美日韩国产123区| 另类小说视频一区二区| 国产午夜亚洲精品午夜鲁丝片| 国产福利不卡视频| 亚洲欧美日韩国产另类专区 | av资源站一区| 视频一区二区不卡| 久久久久久久综合日本| 99视频精品全部免费在线| 亚洲一区二区三区在线看| 日韩欧美亚洲国产精品字幕久久久| 国产一区二区三区四区五区美女 | 中文字幕av一区二区三区| 一本大道久久a久久精二百 | 久久色中文字幕| 99精品1区2区| 奇米精品一区二区三区在线观看| 久久久久久久久免费| 欧美在线视频全部完| 激情文学综合插| 亚洲最色的网站| 久久九九99视频| 7777精品伊人久久久大香线蕉经典版下载| 久草中文综合在线| 亚洲精品成人精品456| 日韩欧美激情一区| 色综合av在线| 高清不卡在线观看| 日日夜夜精品视频免费| 综合久久一区二区三区| 精品久久久久一区| 欧美日韩成人激情| 一本一道综合狠狠老| 国产一区二区在线影院| 亚洲国产成人porn| 亚洲美女在线国产| 国产精品萝li| 久久久精品综合| 日韩欧美区一区二| 欧美一区欧美二区| 欧美性猛交一区二区三区精品| 国产九色精品成人porny| 亚洲h在线观看| 国产精品二三区| 亚洲国产精品激情在线观看| 欧美一级国产精品| 在线成人av影院| 欧美日韩国产小视频| 日本韩国一区二区三区| 风间由美一区二区三区在线观看 | 99视频国产精品| 成人激情免费视频| 高清国产午夜精品久久久久久| 黄色资源网久久资源365| 日本亚洲最大的色成网站www| 亚洲福利电影网| 亚洲夂夂婷婷色拍ww47| 亚洲欧美激情视频在线观看一区二区三区 | 奇米777欧美一区二区| 亚洲一二三区在线观看| 中文成人综合网| 国产精品久久久久久久久免费相片| 精品国产凹凸成av人网站| 日韩精品一区二区三区四区视频| 91精品国产综合久久久久久| 911精品国产一区二区在线| 欧美精品日韩一区| 欧美丰满嫩嫩电影| 日韩亚洲欧美中文三级| 在线不卡的av| 日韩欧美一区二区免费| 日韩一二三区视频| 精品成a人在线观看| 精品不卡在线视频| 国产婷婷色一区二区三区| 国产精品私房写真福利视频| 国产精品美女久久久久久久网站| 国产精品传媒入口麻豆| 国产精品久久久久久福利一牛影视| 国产精品久久久一本精品| 亚洲欧美另类在线| 亚洲第一激情av| 免费在线观看不卡| 国产在线视频一区二区三区| 成人激情午夜影院| 在线观看日韩国产| 91精品国产全国免费观看| 欧美va亚洲va| 国产精品久久看| 亚洲国产成人91porn| 免费观看日韩电影| 国产69精品久久99不卡| 在线区一区二视频| 欧美成人r级一区二区三区| 国产日韩v精品一区二区| 亚洲女子a中天字幕| 日韩制服丝袜av| 国产成人av福利| 欧洲一区二区三区免费视频| 日韩欧美你懂的| 国产精品白丝在线| 日韩**一区毛片| 成人h动漫精品一区二区| 欧美日韩一区二区在线观看| wwwwxxxxx欧美| 一区二区三区欧美| 激情图区综合网| 国产日韩精品久久久| 亚洲午夜羞羞片| 国产盗摄一区二区三区| 欧美性受xxxx黑人xyx| 久久综合久色欧美综合狠狠| 综合在线观看色| 麻豆成人av在线| 日本乱人伦一区| 国产亚洲一本大道中文在线| 亚洲一区二区免费视频| 国产91精品露脸国语对白| 欧美高清性hdvideosex| 国产精品久久久久久妇女6080| 蜜臀久久99精品久久久画质超高清 | 91色在线porny| 精品99一区二区三区| 亚洲最大成人综合| 99久久精品国产观看| 精品国产污网站| 亚洲一区二区三区免费视频| 成人夜色视频网站在线观看| 日韩欧美一级二级三级| 亚洲一区影音先锋| 成人短视频下载| 久久久久国产免费免费 | 久久99精品久久久久婷婷| 在线观看欧美日本| 国产精品不卡在线| 成人免费黄色在线| 久久综合久久综合九色| 日韩电影在线观看一区| 欧美三级日本三级少妇99| 最新高清无码专区| 成人免费av资源| 久久毛片高清国产| 久久国产精品露脸对白| 91精品国产品国语在线不卡| 亚洲444eee在线观看| 91传媒视频在线播放| 亚洲美女一区二区三区| 91视频国产资源| 中文字幕日韩一区| 成人性色生活片| 中文成人av在线| 99国产精品一区| 成人欧美一区二区三区白人| 成人av网站免费| 国产精品久久久久久妇女6080| 成人理论电影网| 国产精品色眯眯| 波多野结衣精品在线| 国产精品免费网站在线观看| 床上的激情91.| 亚洲欧美一区二区三区孕妇| 99精品热视频| 一区二区三区四区中文字幕| 欧美最猛黑人xxxxx猛交| 一区二区三区精品在线观看| 欧美日韩在线观看一区二区| 亚洲成年人网站在线观看| 8v天堂国产在线一区二区| 久久成人久久爱| 国产三级欧美三级日产三级99| 国产成人综合视频| 亚洲私人黄色宅男| 精品视频在线看| 久久福利视频一区二区| 久久久精品黄色| 色婷婷av久久久久久久| 日韩成人av影视| 久久蜜臀精品av| 日本丶国产丶欧美色综合| 天天综合色天天综合色h| 欧美tickling挠脚心丨vk| yourporn久久国产精品| 亚洲一区二区在线视频| 日韩精品一区在线观看| kk眼镜猥琐国模调教系列一区二区| 亚洲综合免费观看高清完整版| 日韩一二在线观看|