Public Member Functions | |
| __construct ($datasource) | |
| Constructor. | |
| close () | |
| Close database connection - destroy connection object. | |
| connection () | |
| Return database connection object. | |
| create_sequence ($sequence, $max=false) | |
| Create sequence/generator object. | |
| dbtype () | |
| Return database type. | |
| delete ($table, $where=false, $savepoint=false) | |
| Return delete query object. | |
| insert ($table, $array, $savepoint=false) | |
| Return insert query result object. | |
| query ($query, $savepoint=false) | |
| Execute non-prepared query and return resultset object. | |
| prepare ($query, $savepoint=false) | |
| Return prepared statement. | |
| select ($table, $columns=false, $where=false, $order_by=false, $sort_order=false) | |
| Return select query result object. | |
| sequence ($sequence) | |
| Return sequence value/property for named sequence - use with non-prepared insert queries. | |
| server_version () | |
| Return database server version. | |
| transaction () | |
| Begin transaction. | |
| update ($table, $array, $where=false, $savepoint=false) | |
| Return update query result object. | |
Protected Member Functions | |
| datasource ($datasource) | |
| Set database connection object, database type and load statement driver. | |
Definition at line 15 of file objSQL.php.
| __construct | ( | $ | datasource | ) |
Constructor.
public
| array | $datasource |
Definition at line 95 of file objSQL.php.
{
if ( !is_array( $datasource ) )
trigger_error( 'Datasource argument must be an array', E_USER_WARNING );
else
$this->datasource( $datasource );
}
| close | ( | ) |
Close database connection - destroy connection object.
public
Definition at line 109 of file objSQL.php.
{
$objDbClose = $this->objConnectClass->objDbClose();
$this->objConnection = false;
return $objDbClose;
}
| connection | ( | ) |
Return database connection object.
public
Definition at line 123 of file objSQL.php.
{
return $this->objConnection;
}
| create_sequence | ( | $ | sequence, | |
| $ | max = false | |||
| ) |
Create sequence/generator object.
public
| str | $sequence | |
| int | $max |
Definition at line 136 of file objSQL.php.
{
if ( in_array( $this->objDbType, $this->objSeqArray ) )
{
require_once 'drivers/' . $this->objDbType . '/' . $this->objDbType . 'Sequence.php';
$objSequence = $this->objDbType . 'Sequence';
$seq = new $objSequence( $sequence, $max, $this->objConnection );
return $seq->setSequence();
}
}
| datasource | ( | $ | datasource | ) | [protected] |
Set database connection object, database type and load statement driver.
protected
| array | $datasource |
Definition at line 156 of file objSQL.php.
{
$this->objDbType = $this->objDetect( strtolower( $datasource[0] ) );
if ( $this->objDbType )
{
require_once 'drivers/' . $this->objDbType . '/' . $this->objDbType . 'Connection.php';
$objConnection = $this->objDbType . 'Connection';
$this->objConnectClass = new $objConnection( $datasource );
$this->objConnection = $this->objConnectClass->objDbConnection();
if ( $this->objConnection )
require_once 'drivers/' . $this->objDbType . '/' . $this->objDbType . 'Statement.php';
}
}
| dbtype | ( | ) |
Return database type.
public
Definition at line 179 of file objSQL.php.
{
return $this->objDbType;
}
| delete | ( | $ | table, | |
| $ | where = false, |
|||
| $ | savepoint = false | |||
| ) |
Return delete query object.
public
| str | $table | |
| str | $where | |
| mixed | $savepoint |
Definition at line 193 of file objSQL.php.
{
$objWhere = ( !$where ) ? '' : ' WHERE ' . $where;
$objQuery = 'DELETE FROM ' . $table . $objWhere;
$objStatement = $this->objDbType . 'Statement';
$stmt = new $objStatement( $objQuery, $this, $this->objAutoCommit, $savepoint );
return $stmt->objExecuteNonPrepared();
}
| insert | ( | $ | table, | |
| $ | array, | |||
| $ | savepoint = false | |||
| ) |
Return insert query result object.
public
| str | $table | |
| array | $array | |
| mixed | $savepoint |
Definition at line 213 of file objSQL.php.
{
//$array MUST be a key value pair array
$array_keys = array_keys( $array );
$array_values = array_values( $array );
$objColumns = '';
$objValues = '';
for ( $i = 0; $i < count( $array ); $i++ )
{
if ( is_string( $array_values[$i] ) && !substr_count( strtolower( $array_values[$i] ), 'nextval' ) )
$objValues .= "'" . $array_values[$i] . "',";
else
$objValues .= $array_values[$i] . ',';
$objColumns .= $array_keys[$i] . ',';
}
$objValues = ' VALUES ( ' . rtrim( $objValues, ',' ) . ')';
$objColumns = ' (' . rtrim( $objColumns, ',' ) . ')';
$objQuery = 'INSERT INTO ' . $table . $objColumns . $objValues;
$objStatement = $this->objDbType . 'Statement';
$stmt = new $objStatement( $objQuery, $this, $this->objAutoCommit, $savepoint );
return $stmt->objExecuteNonPrepared();
}
| prepare | ( | $ | query, | |
| $ | savepoint = false | |||
| ) |
Return prepared statement.
public
| str | $query | |
| mixed | $savepoint |
Definition at line 292 of file objSQL.php.
{
$objStatement = $this->objDbType . 'Statement';
return new $objStatement( $query, $this, $this->objAutoCommit, $savepoint );
}
| query | ( | $ | query, | |
| $ | savepoint = false | |||
| ) |
Execute non-prepared query and return resultset object.
public
| str | $query | |
| mixed | $savepoint |
Definition at line 276 of file objSQL.php.
{
$objStatement = $this->objDbType . 'Statement';
$stmt = new $objStatement( $query, $this, $this->objAutoCommit, $savepoint );
return $stmt->objExecuteNonPrepared();
}
| select | ( | $ | table, | |
| $ | columns = false, |
|||
| $ | where = false, |
|||
| $ | order_by = false, |
|||
| $ | sort_order = false | |||
| ) |
Return select query result object.
public
| str | $table | |
| str | $columns | |
| str | $where | |
| str | $order_by | |
| str | $sort_order |
Definition at line 310 of file objSQL.php.
{
$objColumns = ( !$columns ) ? '*' : $columns;
$objWhere = ( !$where ) ? '' : ' WHERE ' . $where;
$objOrderBy = ( !$order_by ) ? '' : ' ORDER BY ' . $order_by;
$objSortOrder = ( !$sort_order || strtolower( $sort_order ) != 'desc' || strtolower( $sort_order ) != 'asc' ) ? '' : ' ' . $sort_order;
$objQuery = 'SELECT ' . $objColumns . ' FROM ' . $table . $objWhere . $objOrderBy . $objSortOrder;
$objStatement = $this->objDbType . 'Statement';
$stmt = new $objStatement( $objQuery, $this, false, false );
return $stmt->objExecuteNonPrepared();
}
| sequence | ( | $ | sequence | ) |
Return sequence value/property for named sequence - use with non-prepared insert queries.
public
| str | $sequence |
Definition at line 332 of file objSQL.php.
{
if ( in_array( $this->objDbType, $this->objSeqArray ) )
{
require_once 'drivers/' . $this->objDbType . '/' . $this->objDbType . 'Sequence.php';
$objSequence = $this->objDbType . 'Sequence';
$seq = new $objSequence( $sequence, false, $this->objConnection );
return $seq->getSequence();
}
}
| server_version | ( | ) |
Return database server version.
public
Definition at line 351 of file objSQL.php.
{
return $this->objConnectClass->objServerVersion();
}
| transaction | ( | ) |
Begin transaction.
public
Definition at line 362 of file objSQL.php.
{
require_once 'drivers/' . $this->objDbType . '/' . $this->objDbType . 'Transaction.php';
$this->objAutoCommit = ( $this->objDbType == 'firebird' ) ? ibase_trans( $this->objConnection ) : false;
$objTransaction = $this->objDbType . 'Transaction';
return new $objTransaction( $this->objConnection, $this->objAutoCommit );
}
| update | ( | $ | table, | |
| $ | array, | |||
| $ | where = false, |
|||
| $ | savepoint = false | |||
| ) |
Return update query result object.
public
| str | $table | |
| array | $array | |
| str | $where | |
| mixed | $savepoint |
Definition at line 382 of file objSQL.php.
{
//$array MUST be a key value pair array
$objColumns = array_keys( $array );
$objValues = array_values( $array );
$objUpdate = '';
for ( $i = 0; $i < count( $array ); $i++ )
{
if ( !$objValues[$i] )
{
if ( is_numeric( $objValues[$i] ) )
$objValues[$i] = 0;
elseif ( is_bool( $objValues[$i] ) )
$objValues[$i] = false;
else
$objValues[$i] = '';
}
if ( is_string( $objValues[$i] ) && !is_numeric( $objValues[$i] ) )
$objUpdate .= $objColumns[$i] . "='" . $objValues[$i] . "',";
else
$objUpdate .= $objColumns[$i] . '=' . $objValues[$i] . ',';
}
$objUpdate = rtrim( $objUpdate, ',' );
$objWhere = ( !$where ) ? '' : ' WHERE ' . $where;
$objQuery = 'UPDATE ' . $table . ' SET ' . $objUpdate . $objWhere;
$objStatement = $this->objDbType . 'Statement';
$stmt = new $objStatement( $objQuery, $this, $this->objAutoCommit, $savepoint );
return $stmt->objExecuteNonPrepared();
}
1.7.1