⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 database.php

📁 Joomla!是一套获得过多个奖项的内容管理系统(Content Management System, CMS)。Joomla!采用PHP+MySQL数据库开发
💻 PHP
📖 第 1 页 / 共 2 页
字号:
		$this->_offset	= (int) $offset;	}	/**	 * This function replaces a string identifier <var>$prefix</var> with the	 * string held is the <var>_table_prefix</var> class variable.	 *	 * @access public	 * @param string The SQL query	 * @param string The common table prefix	 */	function replacePrefix( $sql, $prefix='#__' )	{		$sql = trim( $sql );		$escaped = false;		$quoteChar = '';		$n = strlen( $sql );		$startPos = 0;		$literal = '';		while ($startPos < $n) {			$ip = strpos($sql, $prefix, $startPos);			if ($ip === false) {				break;			}			$j = strpos( $sql, "'", $startPos );			$k = strpos( $sql, '"', $startPos );			if (($k !== FALSE) && (($k < $j) || ($j === FALSE))) {				$quoteChar	= '"';				$j			= $k;			} else {				$quoteChar	= "'";			}			if ($j === false) {				$j = $n;			}			$literal .= str_replace( $prefix, $this->_table_prefix,substr( $sql, $startPos, $j - $startPos ) );			$startPos = $j;			$j = $startPos + 1;			if ($j >= $n) {				break;			}			// quote comes first, find end of quote			while (TRUE) {				$k = strpos( $sql, $quoteChar, $j );				$escaped = false;				if ($k === false) {					break;				}				$l = $k - 1;				while ($l >= 0 && $sql{$l} == '\\') {					$l--;					$escaped = !$escaped;				}				if ($escaped) {					$j	= $k+1;					continue;				}				break;			}			if ($k === FALSE) {				// error in the query - no end quote; ignore it				break;			}			$literal .= substr( $sql, $startPos, $k - $startPos + 1 );			$startPos = $k+1;		}		if ($startPos < $n) {			$literal .= substr( $sql, $startPos, $n - $startPos );		}		return $literal;	}	/**	 * Get the active query	 *	 * @access public	 * @return string The current value of the internal SQL vairable	 */	function getQuery()	{		return $this->_sql;	}	/**	 * Execute the query	 *	 * @abstract	 * @access public	 * @return mixed A database resource if successful, FALSE if not.	 */	function query()	{		return;	}	/**	 * Get the affected rows by the most recent query	 *	 * @abstract	 * @access public	 * @return int The number of affected rows in the previous operation	 * @since 1.0.5	 */	function getAffectedRows()	{		return;	}	/**	* Execute a batch query	*	* @abstract	* @access public	* @return mixed A database resource if successful, FALSE if not.	*/	function queryBatch( $abort_on_error=true, $p_transaction_safe = false)	{		return false;	}	/**	 * Diagnostic function	 *	 * @abstract	 * @access public	 */	function explain()	{		return;	}	/**	 * Get the number of rows returned by the most recent query	 *	 * @abstract	 * @access public	 * @param object Database resource	 * @return int The number of rows	 */	function getNumRows( $cur=null )	{		return;	}	/**	 * This method loads the first field of the first row returned by the query.	 *	 * @abstract	 * @access public	 * @return The value returned in the query or null if the query failed.	 */	function loadResult()	{		return;	}	/**	 * Load an array of single field results into an array	 *	 * @abstract	 */	function loadResultArray($numinarray = 0)	{		return;	}	/**	* Fetch a result row as an associative array	*	* @abstract	*/	function loadAssoc()	{		return;	}	/**	 * Load a associactive list of database rows	 *	 * @abstract	 * @access public	 * @param string The field name of a primary key	 * @return array If key is empty as sequential list of returned records.	 */	function loadAssocList( $key='' )	{		return;	}	/**	 * This global function loads the first row of a query into an object	 *	 *	 * @abstract	 * @access public	 * @param object	 */	function loadObject( )	{		return;	}	/**	* Load a list of database objects	*	* @abstract	* @access public	* @param string The field name of a primary key	* @return array If <var>key</var> is empty as sequential list of returned records.	* If <var>key</var> is not empty then the returned array is indexed by the value	* the database key.  Returns <var>null</var> if the query fails.	*/	function loadObjectList( $key='' )	{		return;	}	/**	 * Load the first row returned by the query	 *	 * @abstract	 * @access public	 * @return The first row of the query.	 */	function loadRow()	{		return;	}	/**	* Load a list of database rows (numeric column indexing)	*	* If <var>key</var> is not empty then the returned array is indexed by the value	* the database key.  Returns <var>null</var> if the query fails.	*	* @abstract	* @access public	* @param string The field name of a primary key	* @return array	*/	function loadRowList( $key='' )	{		return;	}	/**	 * Inserts a row into a table based on an objects properties	 * @param	string	The name of the table	 * @param	object	An object whose properties match table fields	 * @param	string	The name of the primary key. If provided the object property is updated.	 */	function insertObject( $table, &$object, $keyName = NULL )	{		return;	}	/**	 * Update an object in the database	 *	 * @abstract	 * @access public	 * @param string	 * @param object	 * @param string	 * @param boolean	 */	function updateObject( $table, &$object, $keyName, $updateNulls=true )	{		return;	}	/**	 * Print out an error statement	 *	 * @param boolean If TRUE, displays the last SQL statement sent to the database	 * @return string A standised error message	 */	function stderr( $showSQL = false )	{		if ( $this->_errorNum != 0 ) {			return "DB function failed with error number $this->_errorNum"			."<br /><font color=\"red\">$this->_errorMsg</font>"			.($showSQL ? "<br />SQL = <pre>$this->_sql</pre>" : '');		} else {			return "DB function reports no errors";		}	}	/**	 * Get the ID generated from the previous INSERT operation	 *	 * @abstract	 * @access public	 * @return mixed	 */	function insertid()	{		return;	}	/**	 * Get the database collation	 *	 * @abstract	 * @access public	 * @return string Collation in use	 */	function getCollation()	{		return;	}	/**	 * Get the version of the database connector	 *	 * @abstract	 */	function getVersion()	{		return 'Not available for this connector';	}	/**	 * List tables in a database	 *	 * @abstract	 * @access public	 * @return array A list of all the tables in the database	 */	function getTableList()	{		return;	}	/**	 * Shows the CREATE TABLE statement that creates the given tables	 *	 * @abstract	 * @access	public	 * @param 	array|string 	A table name or a list of table names	 * @return 	array A list the create SQL for the tables	 */	function getTableCreate( $tables )	{		return;	}	/**	 * Retrieves information about the given tables	 *	 * @abstract	 * @access	public	 * @param 	array|string 	A table name or a list of table names	 * @param	boolean			Only return field types, default true	 * @return	array An array of fields by table	 */	function getTableFields( $tables, $typeonly = true )	{		return;	}	// ----	// ADODB Compatibility Functions	// ----	/**	* Get a quoted database escaped string	*	* @param	string	A string	* @param	boolean	Default true to escape string, false to leave the string unchanged	* @return	string	* @access public	*/	function Quote( $text, $escaped = true )	{		return '\''.($escaped ? $this->getEscaped( $text ) : $text).'\'';	}	/**	 * ADODB compatability function	 *	 * @access	public	 * @param	string SQL	 * @since	1.5	 */	function GetCol( $query )	{		$this->setQuery( $query );		return $this->loadResultArray();	}	/**	 * ADODB compatability function	 *	 * @access	public	 * @param	string SQL	 * @return	object	 * @since	1.5	 */	function Execute( $query )	{		jimport( 'joomla.database.recordset' );		$query = trim( $query );		$this->setQuery( $query );		if (eregi( '^select', $query )) {			$result = $this->loadRowList();			return new JRecordSet( $result );		} else {			$result = $this->query();			if ($result === false) {				return false;			} else {				return new JRecordSet( array() );			}		}	}	/**	 * ADODB compatability function	 *	 * @access public	 * @since 1.5	 */	function SelectLimit( $query, $count, $offset=0 )	{		jimport( 'joomla.database.recordset' );		$this->setQuery( $query, $offset, $count );		$result = $this->loadRowList();		return new JRecordSet( $result );	}	/**	 * ADODB compatability function	 *	 * @access public	 * @since 1.5	 */	function PageExecute( $sql, $nrows, $page, $inputarr=false, $secs2cache=0 )	{		jimport( 'joomla.database.recordset' );		$this->setQuery( $sql, $page*$nrows, $nrows );		$result = $this->loadRowList();		return new JRecordSet( $result );	}	/**	 * ADODB compatability function	 *	 * @access public	 * @param string SQL	 * @return array	 * @since 1.5	 */	function GetRow( $query )	{		$this->setQuery( $query );		$result = $this->loadRowList();		return $result[0];	}	/**	 * ADODB compatability function	 *	 * @access public	 * @param string SQL	 * @return mixed	 * @since 1.5	 */	function GetOne( $query )	{		$this->setQuery( $query );		$result = $this->loadResult();		return $result;	}	/**	 * ADODB compatability function	 *	 * @since 1.5	 */	function BeginTrans()	{	}	/**	 * ADODB compatability function	 *	 * @since 1.5	 */	function RollbackTrans()	{	}	/**	 * ADODB compatability function	 *	 * @since 1.5	 */	function CommitTrans()	{	}	/**	 * ADODB compatability function	 *	 * @since 1.5	 */	function ErrorMsg()	{		return $this->getErrorMsg();	}	/**	 * ADODB compatability function	 *	 * @since 1.5	 */	function ErrorNo()	{		return $this->getErrorNum();	}	/**	 * ADODB compatability function	 *	 * @since 1.5	 */	function GenID( $foo1=null, $foo2=null )	{		return '0';	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -