DBObject
extends CoreObject
in package
A base class to be extended by any class that needs to access the DB Provides a DB connection instance and several abstractions for DB interaction
Tags
Table of Contents
Properties
- $db : DBInstance
- $primaryTable : string
Methods
- getAppConfiguration() : array<string|int, mixed>
- Provides a single instance of the global app configuration to all extenders of CoreObject
- getLogger() : Logger
- Provides a single instance of a configured Logger to all extenders of CoreObject
- __construct() : mixed
- Gets a db instance and assigns it to the $db property
- buildIn() : string
- Returns a parametrized IN clause for use in a prepared statement
- buildInsertStatement() : string|false
- Builds and executes an insert statement
- buildMultiRowInsertStatement() : bool
- Builds and executes a single insert statement that inserts multiple new records
- buildUpdateStatement() : bool
- Builds and executes an update statement
- dbFormatDate() : string
- Returns an appropriate date format function for the SQL language
- dbNow() : string
- Returns an appropriate CURRENT TIME function for the SQL language
- dbTextMatch() : string
- Returns an appropriate text search function for the SQL language
- executeQuery() : array<string, array<string, string>>|false
- Execute a query and return the results as an array
- executeUpdate() : bool
- Execute an update query
- getLastInsertId() : string|false
- Returns the id of the most recent insert query
- getPrimaryTable() : mixed
- Provides the name of the primary table associated with the instance
- logStatementError() : void
- Logs SQL errors to the logger
- queryWithIndex() : array<string|int, mixed>|false
- Query the DB and return the rows as a 1 or 2 dimensional indexed array
- quote() : string
- quoteArray() : array<string|int, string>
Properties
$db
protected
DBInstance
$db
An instance of the db class, providing the connection to the DB
$primaryTable
protected
string
$primaryTable
The name of the main db table associated with an instance of DBObject
Methods
getAppConfiguration()
Provides a single instance of the global app configuration to all extenders of CoreObject
public
getAppConfiguration() : array<string|int, mixed>
Return values
array<string|int, mixed>getLogger()
Provides a single instance of a configured Logger to all extenders of CoreObject
public
getLogger() : Logger
Return values
Logger__construct()
Gets a db instance and assigns it to the $db property
protected
__construct() : mixed
buildIn()
Returns a parametrized IN clause for use in a prepared statement
protected
buildIn(array<string|int, mixed> $ar, array<string|int, mixed> &$bindparams[, string $varprefix = 'v' ]) : string
Parameters
- $ar : array<string|int, mixed>
-
An array of values representing the contents of the IN clause
- $bindparams : array<string|int, mixed>
-
A reference to the caller's array of binded parameters
- $varprefix : string = 'v'
-
Can be used to avoid bind parameter naming collisions when calling multiple times within 1 statement
Return values
string —The resulting IN clause
buildInsertStatement()
Builds and executes an insert statement
protected
buildInsertStatement(array<string|int, mixed> $data[, string $table = null ]) : string|false
Parameters
- $data : array<string|int, mixed>
-
An associative array (ColumnName->Value) of data representing the new DB record
- $table : string = null
-
Optional - The table to insert the new record into. Defaults to $primaryTable
Return values
string|false —Returns the ID of the new record on success, false on failure
buildMultiRowInsertStatement()
Builds and executes a single insert statement that inserts multiple new records
protected
buildMultiRowInsertStatement(array<string|int, array<string, string>> $rows[, string $table = null ]) : bool
Parameters
- $rows : array<string|int, array<string, string>>
-
An array of associative arrays (ColumnName->Value) of data representing the new DB records
- $table : string = null
-
Optional - The table to insert the new records into. Defaults to $primaryTable
Return values
bool —True on success, false on failure
buildUpdateStatement()
Builds and executes an update statement
protected
buildUpdateStatement(string $id, array<string|int, mixed> $data[, string $table = null ]) : bool
Parameters
- $id : string
-
The id of the record to be updated
- $data : array<string|int, mixed>
-
An associative array (ColumnName->Value) of data representing the updated data
- $table : string = null
-
Optional - The table to insert the new record into. Defaults to $primaryTable
Return values
bool —True on success, false on failure
dbFormatDate()
Returns an appropriate date format function for the SQL language
protected
dbFormatDate(string $field) : string
Parameters
- $field : string
-
The name of the field to format
Return values
stringdbNow()
Returns an appropriate CURRENT TIME function for the SQL language
protected
dbNow() : string
Return values
stringdbTextMatch()
Returns an appropriate text search function for the SQL language
protected
dbTextMatch(string $fields, string $value) : string
Parameters
- $fields : string
-
The fields to use for the search (field1,field2,..)
- $value : string
-
The search criteria
Return values
stringexecuteQuery()
Execute a query and return the results as an array
protected
executeQuery(mixed $sql[, array<string|int, mixed> $bindparams = NULL ]) : array<string, array<string, string>>|false
@param string $sql the SQL query
Parameters
- $sql : mixed
- $bindparams : array<string|int, mixed> = NULL
-
: an array of values to be binded by PDO to any query parameters
Return values
array<string, array<string, string>>|false —A two dimensional array representing the resulting rows: array(array("id"=>1,"field"=>"value1"),array("id"=>2","field"=>"value2")), false on failure
executeUpdate()
Execute an update query
protected
executeUpdate(mixed $sql[, array<string|int, mixed> $bindparams = NULL ]) : bool
@param string $sql The SQL query
Parameters
- $sql : mixed
- $bindparams : array<string|int, mixed> = NULL
-
An array of values to be binded by PDO to any query parameters
Return values
bool —True on success, false on anything else
getLastInsertId()
Returns the id of the most recent insert query
protected
getLastInsertId() : string|false
Return values
string|false —The id of the last inserted record
getPrimaryTable()
Provides the name of the primary table associated with the instance
protected
getPrimaryTable() : mixed
@return string
logStatementError()
Logs SQL errors to the logger
protected
logStatementError(array<string|int, string> $error[, string $sql = null ]) : void
Parameters
- $error : array<string|int, string>
-
A PDO::errorInfo() error or similar structure
- $sql : string = null
-
The SQL query that triggered the error
queryWithIndex()
Query the DB and return the rows as a 1 or 2 dimensional indexed array
protected
queryWithIndex(string $sql, mixed $index[, string $findex = NULL ][, mixed $bindparams = NULL ]) : array<string|int, mixed>|false
Parameters
- $sql : string
-
The query string @param string $index The table's primary key
- $index : mixed
- $findex : string = NULL
-
An optional foreign key from the table (when used, returns a 2 dimensional array, indexed first by $index, second by $findex) @param mixed[] $bindparams An array of values to be binded by PDO to any query parameters
- $bindparams : mixed = NULL
Return values
array<string|int, mixed>|false —$results A two (or three) dimensional array representing the resulting rows: array(array("id"=>1,"field"=>"value1"),array("id"=>2","field"=>"value2")), false on failure
quote()
protected
quote(string $value) : string
Parameters
- $value : string
-
The value to escape
Tags
Return values
string —The escaped $value
quoteArray()
protected
quoteArray(array<string|int, string> $ar) : array<string|int, string>
Parameters
- $ar : array<string|int, string>
-
An array of string values to escape
Tags
Return values
array<string|int, string> —The escaped array