📄 database.php
字号:
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 ab 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;
}
/**
*
*
* @abstract
* @access public
* @param array A list of table names
* @return array A list the create SQL for the tables
*/
function getTableCreate( $tables ) {
return;
}
/**
* List database table fields
*
* @abstract
* @access public
* @param array A list of table names
* @return array An array of fields by table
*/
function getTableFields( $tables ) {
return;
}
// ----
// ADODB Compatibility Functions
// ----
/**
* Get a quoted database escaped string
*
* @access public
* @return string
*/
function Quote( $text ) {
return '\'' . $this->getEscaped( $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 + -