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

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

?? adodb-pear.inc.php

?? PhpWiki是sourceforge的一個開源項目
?? PHP
字號:
<?php/**  * @version V4.22 15 Apr 2004 (c) 2000-2004 John Lim (jlim@natsoft.com.my). All rights reserved. * Released under both BSD license and Lesser GPL library license.  * Whenever there is any discrepancy between the two licenses,  * the BSD license will take precedence.  * * Set tabs to 4 for best viewing. *  * PEAR DB Emulation Layer for ADODB. * * The following code is modelled on PEAR DB code by Stig Bakken <ssb@fast.no>								   | * and Tomas V.V.Cox <cox@idecnet.com>.	Portions (c)1997-2002 The PHP Group. */ /* We support:  DB_Common --------- 	query - returns PEAR_Error on error	limitQuery - return PEAR_Error on error	prepare - does not return PEAR_Error on error	execute - does not return PEAR_Error on error	setFetchMode - supports ASSOC and ORDERED	errorNative	quote	nextID	disconnect	 DB_Result --------- 	numRows - returns -1 if not supported	numCols	fetchInto - does not support passing of fetchmode	fetchRows - does not support passing of fetchmode	free */ define('ADODB_PEAR',dirname(__FILE__));include_once "PEAR.php";include_once ADODB_PEAR."/adodb-errorpear.inc.php";include_once ADODB_PEAR."/adodb.inc.php";if (!defined('DB_OK')) {define("DB_OK",	1);define("DB_ERROR",-1);/** * This is a special constant that tells DB the user hasn't specified * any particular get mode, so the default should be used. */define('DB_FETCHMODE_DEFAULT', 0);/** * Column data indexed by numbers, ordered from 0 and up */define('DB_FETCHMODE_ORDERED', 1);/** * Column data indexed by column names */define('DB_FETCHMODE_ASSOC', 2);/* for compatibility */define('DB_GETMODE_ORDERED', DB_FETCHMODE_ORDERED);define('DB_GETMODE_ASSOC',   DB_FETCHMODE_ASSOC);/** * these are constants for the tableInfo-function * they are bitwised or'ed. so if there are more constants to be defined * in the future, adjust DB_TABLEINFO_FULL accordingly */define('DB_TABLEINFO_ORDER', 1);define('DB_TABLEINFO_ORDERTABLE', 2);define('DB_TABLEINFO_FULL', 3);}/** * The main "DB" class is simply a container class with some static * methods for creating DB objects as well as some utility functions * common to all parts of DB. * */class DB{	/**	 * Create a new DB object for the specified database type	 *	 * @param $type string database type, for example "mysql"	 *	 * @return object a newly created DB object, or a DB error code on	 * error	 */	function &factory($type)	{		include_once(ADODB_DIR."/drivers/adodb-$type.inc.php");		$obj = &NewADOConnection($type);		if (!is_object($obj)) $obj =& new PEAR_Error('Unknown Database Driver: '.$dsninfo['phptype'],-1);		return $obj;	}	/**	 * Create a new DB object and connect to the specified database	 *	 * @param $dsn mixed "data source name", see the DB::parseDSN	 * method for a description of the dsn format.  Can also be	 * specified as an array of the format returned by DB::parseDSN.	 *	 * @param $options mixed if boolean (or scalar), tells whether	 * this connection should be persistent (for backends that support	 * this).  This parameter can also be an array of options, see	 * DB_common::setOption for more information on connection	 * options.	 *	 * @return object a newly created DB connection object, or a DB	 * error object on error	 *	 * @see DB::parseDSN	 * @see DB::isError	 */	function &connect($dsn, $options = false)	{		if (is_array($dsn)) {			$dsninfo = $dsn;		} else {			$dsninfo = DB::parseDSN($dsn);		}		switch ($dsninfo["phptype"]) {			case 'pgsql': 	$type = 'postgres7'; break;			case 'ifx':		$type = 'informix9'; break;			default: 		$type = $dsninfo["phptype"]; break;		}		if (is_array($options) && isset($options["debug"]) &&			$options["debug"] >= 2) {			// expose php errors with sufficient debug level			 @include_once("adodb-$type.inc.php");		} else {			 @include_once("adodb-$type.inc.php");		}		@$obj =& NewADOConnection($type);		if (!is_object($obj)) {			$obj =& new PEAR_Error('Unknown Database Driver: '.$dsninfo['phptype'],-1);			return $obj;		}		if (is_array($options)) {			foreach($options as $k => $v) {				switch(strtolower($k)) {				case 'persistent': 	$persist = $v; break;				#ibase				case 'dialect': 	$obj->dialect = $v; break;				case 'charset':		$obj->charset = $v; break;				case 'buffers':		$obj->buffers = $v; break;				#ado				case 'charpage':	$obj->charPage = $v; break;				#mysql				case 'clientflags': $obj->clientFlags = $v; break;				}			}		} else {		   	$persist = false;		}		if (isset($dsninfo['socket'])) $dsninfo['hostspec'] .= ':'.$dsninfo['socket'];		else if (isset($dsninfo['port'])) $dsninfo['hostspec'] .= ':'.$dsninfo['port'];				if($persist) $ok = $obj->PConnect($dsninfo['hostspec'], $dsninfo['username'],$dsninfo['password'],$dsninfo['database']);		else  $ok = $obj->Connect($dsninfo['hostspec'], $dsninfo['username'],$dsninfo['password'],$dsninfo['database']);				if (!$ok) $obj = ADODB_PEAR_Error();		return $obj;	}	/**	 * Return the DB API version	 *	 * @return int the DB API version number	 */	function apiVersion()	{		return 2;	}	/**	 * Tell whether a result code from a DB method is an error	 *	 * @param $value int result code	 *	 * @return bool whether $value is an error	 */	function isError($value)	{		return (is_object($value) &&                        (strtolower(get_class($value)) == 'db_error' ||				 is_subclass_of($value, 'db_error')));	}	/**	 * Tell whether a result code from a DB method is a warning.	 * Warnings differ from errors in that they are generated by DB,	 * and are not fatal.	 *	 * @param $value mixed result value	 *	 * @return bool whether $value is a warning	 */	function isWarning($value)	{		return is_object($value) &&                    (strtolower(get_class( $value )) == "db_warning" ||			 is_subclass_of($value, "db_warning"));	}	/**	 * Parse a data source name	 *	 * @param $dsn string Data Source Name to be parsed	 *	 * @return array an associative array with the following keys:	 *	 *  phptype: Database backend used in PHP (mysql, odbc etc.)	 *  dbsyntax: Database used with regards to SQL syntax etc.	 *  protocol: Communication protocol to use (tcp, unix etc.)	 *  hostspec: Host specification (hostname[:port])	 *  database: Database to use on the DBMS server	 *  username: User name for login	 *  password: Password for login	 *	 * The format of the supplied DSN is in its fullest form:	 *	 *  phptype(dbsyntax)://username:password@protocol+hostspec/database	 *	 * Most variations are allowed:	 *	 *  phptype://username:password@protocol+hostspec:110//usr/db_file.db	 *  phptype://username:password@hostspec/database_name	 *  phptype://username:password@hostspec	 *  phptype://username@hostspec	 *  phptype://hostspec/database	 *  phptype://hostspec	 *  phptype(dbsyntax)	 *  phptype	 *	 * @author Tomas V.V.Cox <cox@idecnet.com>	 */	function parseDSN($dsn)	{		if (is_array($dsn)) {			return $dsn;		}		$parsed = array(			'phptype'  => false,			'dbsyntax' => false,			'protocol' => false,			'hostspec' => false,			'database' => false,			'username' => false,			'password' => false		);		// Find phptype and dbsyntax		if (($pos = strpos($dsn, '://')) !== false) {			$str = substr($dsn, 0, $pos);			$dsn = substr($dsn, $pos + 3);		} else {			$str = $dsn;			$dsn = NULL;		}		// Get phptype and dbsyntax		// $str => phptype(dbsyntax)		if (preg_match('|^(.+?)\((.*?)\)$|', $str, $arr)) {			$parsed['phptype'] = $arr[1];			$parsed['dbsyntax'] = (empty($arr[2])) ? $arr[1] : $arr[2];		} else {			$parsed['phptype'] = $str;			$parsed['dbsyntax'] = $str;		}		if (empty($dsn)) {			return $parsed;		}		// Get (if found): username and password		// $dsn => username:password@protocol+hostspec/database		if (($at = strpos($dsn,'@')) !== false) {			$str = substr($dsn, 0, $at);			$dsn = substr($dsn, $at + 1);			if (($pos = strpos($str, ':')) !== false) {				$parsed['username'] = urldecode(substr($str, 0, $pos));				$parsed['password'] = urldecode(substr($str, $pos + 1));			} else {				$parsed['username'] = urldecode($str);			}		}		// Find protocol and hostspec		// $dsn => protocol+hostspec/database		if (($pos=strpos($dsn, '/')) !== false) {			$str = substr($dsn, 0, $pos);			$dsn = substr($dsn, $pos + 1);		} else {			$str = $dsn;			$dsn = NULL;		}		// Get protocol + hostspec		// $str => protocol+hostspec		if (($pos=strpos($str, '+')) !== false) {			$parsed['protocol'] = substr($str, 0, $pos);			$parsed['hostspec'] = urldecode(substr($str, $pos + 1));		} else {			$parsed['hostspec'] = urldecode($str);		}		// Get dabase if any		// $dsn => database		if (!empty($dsn)) {			$parsed['database'] = $dsn;		}		return $parsed;	}	/**	 * Load a PHP database extension if it is not loaded already.	 *	 * @access public	 *	 * @param $name the base name of the extension (without the .so or	 * .dll suffix)	 *	 * @return bool true if the extension was already or successfully	 * loaded, false if it could not be loaded	 */	function assertExtension($name)	{		if (!extension_loaded($name)) {			$dlext = (strncmp(PHP_OS,'WIN',3) === 0) ? '.dll' : '.so';			@dl($name . $dlext);		}		if (!extension_loaded($name)) {			return false;		}		return true;	}}?>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本韩国一区| 懂色av中文字幕一区二区三区| 奇米精品一区二区三区四区| 国产精品91一区二区| 色呦呦一区二区三区| 日韩亚洲国产中文字幕欧美| 国产精品亲子乱子伦xxxx裸| 亚洲va欧美va人人爽| 激情综合色播五月| 在线免费一区三区| 久久久国际精品| 亚洲国产成人av网| 国产v综合v亚洲欧| 6080国产精品一区二区| 国产精品成人午夜| 麻豆国产精品视频| 欧美亚洲国产一区二区三区| 久久精品人人做人人综合 | 国产成人鲁色资源国产91色综| 精品无人区卡一卡二卡三乱码免费卡 | 欧美高清性hdvideosex| 精品精品国产高清a毛片牛牛| 一区二区三区 在线观看视频| 国产91在线观看| 日韩一区二区精品葵司在线| 亚洲免费观看高清| 国产精品一区二区久久不卡| 欧美一区二区视频在线观看2020 | 欧美人体做爰大胆视频| 中文字幕日韩一区二区| 国产一区二区三区免费| 欧美一区二区三区免费在线看 | 精品成人一区二区三区四区| 亚洲二区在线观看| 91在线免费播放| 国产欧美一区二区三区在线老狼| 日韩av电影天堂| 欧洲国内综合视频| 国产精品久久久久一区二区三区 | 久久久99精品免费观看| 三级欧美在线一区| 欧美亚洲高清一区| 最新中文字幕一区二区三区| 丰满岳乱妇一区二区三区| 精品久久久久香蕉网| 日本美女一区二区三区视频| 欧美群妇大交群中文字幕| 欧美激情资源网| 国产精品亚洲第一区在线暖暖韩国| 91精品国产综合久久国产大片| 亚洲免费成人av| 91视频精品在这里| 亚洲欧美一区二区视频| 99久久免费国产| 一区二区三区加勒比av| 在线观看不卡一区| 日韩福利视频网| 日韩精品资源二区在线| 国产乱码一区二区三区| 国产精品伦理一区二区| 成人高清视频免费观看| 国产精品久久毛片| av中文字幕亚洲| 亚洲欧美日韩国产另类专区 | 国产精品国产精品国产专区不片| 丁香婷婷深情五月亚洲| 中文一区在线播放| 99久久久久久| 一区二区三区中文免费| 色系网站成人免费| 色综合久久久网| 一区二区三区中文免费| 欧美无乱码久久久免费午夜一区| 亚洲国产日韩综合久久精品| 欧美日本一区二区在线观看| 日韩成人一级大片| 久久综合999| 成人免费视频国产在线观看| 亚洲婷婷综合久久一本伊一区| 99久久夜色精品国产网站| 中文字幕av一区二区三区免费看 | 亚洲电影第三页| 这里只有精品99re| 国产成都精品91一区二区三| 亚洲少妇屁股交4| 欧美日韩免费观看一区三区| 美女被吸乳得到大胸91| 国产情人综合久久777777| 99久久99久久免费精品蜜臀| 亚洲午夜国产一区99re久久| 欧美一二三四区在线| 国产精品一区二区三区网站| 国产精品二三区| 欧美日本免费一区二区三区| 精品亚洲欧美一区| 国产精品久久久久久久久晋中| 色88888久久久久久影院野外| 亚洲欧美另类小说| 欧美精品色综合| 国产一区二区精品久久91| 国产日产欧美一区二区三区| 色综合久久综合| 麻豆成人久久精品二区三区红 | 国产精品女主播av| 在线影视一区二区三区| 毛片基地黄久久久久久天堂| 中文字幕不卡在线观看| 欧美日韩一二三区| 国产精品一区免费视频| 亚洲一区中文日韩| 久久久噜噜噜久久中文字幕色伊伊| 94-欧美-setu| 狠狠色综合日日| 国产精品每日更新在线播放网址| 欧美探花视频资源| 国产成人精品免费一区二区| 亚洲黄色免费电影| 久久久久久久国产精品影院| 色婷婷久久99综合精品jk白丝| 蜜臀av一区二区在线免费观看 | 色综合久久综合| 国内偷窥港台综合视频在线播放| 亚洲欧美色图小说| 久久这里只精品最新地址| 在线看国产一区二区| 国产精品亚洲第一区在线暖暖韩国 | 成人免费黄色在线| 日韩精品免费专区| 1024成人网色www| 精品国产一区二区三区不卡 | 欧美日韩视频一区二区| 福利一区福利二区| 美女一区二区在线观看| 亚洲品质自拍视频| 国产亚洲一本大道中文在线| 欧美精品在线一区二区| 91啪亚洲精品| 国产盗摄精品一区二区三区在线| 婷婷夜色潮精品综合在线| 中文字幕一区二区三区色视频 | 精品一区二区三区在线视频| 亚洲乱码国产乱码精品精98午夜| 久久综合久久鬼色| 777亚洲妇女| 91黄色激情网站| 成人免费av网站| 国产91对白在线观看九色| 国产在线视视频有精品| 日韩精品一级二级| 亚洲午夜免费视频| 悠悠色在线精品| 亚洲天堂免费看| 日本一区二区久久| 久久综合国产精品| 欧美va亚洲va国产综合| 欧美群妇大交群中文字幕| 欧洲av一区二区嗯嗯嗯啊| 91在线无精精品入口| 成人一级片在线观看| 国产经典欧美精品| 日韩电影在线一区二区| 亚洲福利国产精品| 一区二区三区在线观看网站| 中国色在线观看另类| 精品国精品国产| 精品av综合导航| 日韩欧美黄色影院| 日韩一区二区免费电影| 欧美一级高清片| 日韩三级视频在线看| 欧美一卡二卡三卡| 日韩欧美一区中文| 日韩欧美激情四射| 欧美大片一区二区| 欧美精品一区二区三区很污很色的| 日韩精品一区二区三区蜜臀| 久久精子c满五个校花| 国产精品第13页| 亚洲福利电影网| 久久99精品久久久久久动态图 | 午夜精品久久久久久久| 日本一道高清亚洲日美韩| 精品一区二区三区久久久| 国产欧美综合在线| 综合激情网...| 亚洲国产日韩a在线播放| 蜜乳av一区二区三区| 国产精品538一区二区在线| www.日韩av| 欧美日韩一级二级| 精品福利在线导航| 综合网在线视频| 午夜激情一区二区三区| 国产一区二区三区免费播放 | 麻豆精品一区二区| 成人免费毛片a| 欧美日本不卡视频| 久久精品人人做人人爽97| 亚洲精品综合在线| 麻豆国产一区二区|