Documentation

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
author

Jason Savell jsavell@library.tamu.edu

todo

Make abstract and leave implementing of relevant methods to specific implementers (MySqlObject, MsSqlObject)

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
string

dbNow()

Returns an appropriate CURRENT TIME function for the SQL language

protected dbNow() : string
Return values
string

dbTextMatch()

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
string

executeQuery()

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
Deprecated

Use bind parameters option provided by sql execution methods instead Escape a @value to prep for use in a DB query

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
Deprecated

Use bind parameters option provided by sql execution methods instead Escapes the contents of an array and returns the result

Return values
array<string|int, string>

The escaped array


        
On this page

Search results