CMS Made Simple API

Connection
in package

AbstractYes

A class defining a database connection, and mechanisms for working with a database.

This library is largely compatible with adodb_lite with the pear,extended,transaction plugins with a few notable differences:

Differences:

  • GenID will not automatically create a sequence table.

    We encourage you to not use sequence tables and use auto-increment fields instead.

Tags
author

Robert Campbell

copyright

Copyright (c) 2015, Robert Campbell calguy1000@cmsmadesimple.org

since
2.2

Table of Contents

Constants

ERROR_CONNECT  = 'CONNECT'
This constant defines an error with connecting to the database.
ERROR_DATADICT  = 'DATADICTIONARY'
This constant defines an error in a datadictionary command.
ERROR_EXECUTE  = 'EXECUTE'
This constant defines an error with an execute statement.
ERROR_TRANSACTION  = 'TRANSACTION'
This constant defines an error with a transaction.

Properties

$query_count  : int
$query_time_total  : float

Methods

__construct()  : mixed
Construct a new Connection.
Affected_Rows()  : int
Output the number of rows affected by the last query.
BeginTrans()  : mixed
Begin a transaction
Close()  : mixed
An alias for Disconnect.
CommitTrans()  : mixed
Commit a simple transaction.
CompleteTrans()  : mixed
Complete a smart transaction.
concat()  : string
output the mysql expression for a string concatenation.
Connect()  : bool
Open the database connection.
CreateSequence()  : bool
Create a new sequence table.
Date()  : int
An Alias for the UnixDate method.
DBDate()  : string
Convert a date into something that is suitable for writing to a database.
DBTimeStamp()  : string
A utility method to convert a unix timestamp into a database specific string suitable for use in queries.
DbType()  : string
Return the database type.
Disconnect()  : mixed
Close the database connection.
DropSequence()  : bool
Drop a sequence table
ErrorMsg()  : string
Return a string describing the latest error (if any)
ErrorNo()  : int
Return the latest error number (if any)
Execute()  : ResultSet
Execute an SQL Command
FailTrans()  : mixed
Mark a transaction as failed.
GenID()  : int
For use with sequence tables, this method will generate a new ID value.
GetAll()  : array<string|int, mixed>
An alias for the GetArray method.
GetArray()  : array<string|int, mixed>
Execute an SQL Commmand and return all of the results as an array.
GetAssoc()  : mixed
A method to return an associative array.
GetCol()  : array<string|int, mixed>
Execute an SQL statement that returns one column, and return all of the matches as an array.
GetOne()  : mixed
Execute an SQL statement and return a single value.
GetRow()  : array<string|int, mixed>
Exeute an SQL statement that returns one row of results, and return that row as an associative array.
HasFailedTrans()  : bool
Test if a transaction has failed.
IfNull()  : string
Output the mysql expression to test if an item is null.
Initialize()  : Connection
Create a new database connection object.
Insert_ID()  : int
Return the numeric ID of the last insert query into a table with an auto-increment field.
IsConnected()  : bool
Test if the connection object is connected to the database.
NewDataDictionary()  : DataDictionary
Create a new data dictionary object.
Prepare()  : Statement
Create a prepared statement object.
QMagic()  : string
Quote a string magically using the magic quotes flag.
qstr()  : string
Quote a string in a database agnostic manner.
RollbackTrans()  : mixed
Roll back a simple transaction.
SelectLimit()  : ResultSet
Execute an SQL Select and limit the output.
SetDebugCallback()  : mixed
Set the debug callback.
SetDebugMode()  : mixed
Toggle debug mode.
SetErrorHandler()  : mixed
Set an error handler function
StartTrans()  : mixed
Begin a smart transaction
Time()  : int
An alias for the UnixTimestamp method.
UnixDate()  : int
Generate a unix timestamp representing the current date at midnight.
UnixTimeStamp()  : int
A convenience method for converting a database specific string representing a date and time into a unix timestamp.

Constants

ERROR_CONNECT

This constant defines an error with connecting to the database.

public mixed ERROR_CONNECT = 'CONNECT'

ERROR_DATADICT

This constant defines an error in a datadictionary command.

public mixed ERROR_DATADICT = 'DATADICTIONARY'

ERROR_EXECUTE

This constant defines an error with an execute statement.

public mixed ERROR_EXECUTE = 'EXECUTE'

ERROR_TRANSACTION

This constant defines an error with a transaction.

public mixed ERROR_TRANSACTION = 'TRANSACTION'

Properties

$query_count read-only

public int $query_count

The total number of queries executed so far.

$query_time_total read-only

public float $query_time_total

The total query time so far in this request (in seconds)

Methods

Affected_Rows()

Output the number of rows affected by the last query.

public abstract Affected_Rows() : int
Return values
int

CommitTrans()

Commit a simple transaction.

public abstract CommitTrans([bool $ok = true ]) : mixed
Parameters
$ok : bool = true

Indicates wether there is success or not.

CompleteTrans()

Complete a smart transaction.

public abstract CompleteTrans([bool $autoComplete = true ]) : mixed

This method will either do a rollback or a commit depending upon if errors have been detected.

Parameters
$autoComplete : bool = true

If no errors have been detected attempt to auto commit the transaction.

concat()

output the mysql expression for a string concatenation.

public abstract concat() : string

This function accepts a variable number of string arguments.

Return values
string

Connect()

Open the database connection.

public abstract Connect() : bool
Return values
bool

Success or failure

CreateSequence()

Create a new sequence table.

public abstract CreateSequence(string $seqname[, int $startID = 0 ]) : bool
Parameters
$seqname : string

the name of the sequence table.

$startID : int = 0
Return values
bool

Date()

An Alias for the UnixDate method.

public Date() : int
Return values
int

DBDate()

Convert a date into something that is suitable for writing to a database.

public DBDate(mixed $date) : string
Parameters
$date : mixed

Either a string date, or an integer timestamp

Return values
string

single-quoted localized date or 'null'

DBTimeStamp()

A utility method to convert a unix timestamp into a database specific string suitable for use in queries.

public DBTimeStamp(int $timestamp) : string
Parameters
$timestamp : int
Return values
string

single-quoted date-time or 'null'

DbType()

Return the database type.

public abstract DbType() : string
Return values
string

Disconnect()

Close the database connection.

public abstract Disconnect() : mixed

DropSequence()

Drop a sequence table

public abstract DropSequence(string $seqname) : bool
Parameters
$seqname : string

The name of the sequence table.

Return values
bool

ErrorMsg()

Return a string describing the latest error (if any)

public abstract ErrorMsg() : string
Return values
string

ErrorNo()

Return the latest error number (if any)

public abstract ErrorNo() : int
Return values
int

Execute()

Execute an SQL Command

public Execute(string $sql[, array<string|int, mixed> $inputarr = null ]) : ResultSet
Parameters
$sql : string

The SQL statement to execute.

$inputarr : array<string|int, mixed> = null

Any parameters marked as placeholders in the SQL statement.

Return values
ResultSet

FailTrans()

Mark a transaction as failed.

public abstract FailTrans() : mixed

GenID()

For use with sequence tables, this method will generate a new ID value.

public abstract GenID(string $seqname) : int

This function will not automatically create the sequence table if not specified.

Parameters
$seqname : string

The name of the sequence table.

Return values
int

GetAll()

An alias for the GetArray method.

public GetAll(string $sql[, array<string|int, mixed> $inputarr = null ]) : array<string|int, mixed>
Parameters
$sql : string

The SQL statement to execute.

$inputarr : array<string|int, mixed> = null

Any parameters marked as placeholders in the SQL statement.

Return values
array<string|int, mixed>

GetArray()

Execute an SQL Commmand and return all of the results as an array.

public GetArray(string $sql[, array<string|int, mixed> $inputarr = null ]) : array<string|int, mixed>
Parameters
$sql : string

The SQL statement to execute.

$inputarr : array<string|int, mixed> = null

Any parameters marked as placeholders in the SQL statement.

Return values
array<string|int, mixed>

An associative array of matched results.

GetAssoc()

A method to return an associative array.

public GetAssoc(string $sql[, array<string|int, mixed> $inputarr = null ][, bool $force_array = false ][, bool $first2cols = false ]) : mixed
Parameters
$sql : string

The SQL statement to execute

$inputarr : array<string|int, mixed> = null

Any parameters marked as placeholders in the SQL statement.

$force_array : bool = false

Force each element of the output to be an associative array.

$first2cols : bool = false

Only output the first 2 columns in an associative array. Does not work with force_array.

Tags
see
Pear::getAssoc()

GetCol()

Execute an SQL statement that returns one column, and return all of the matches as an array.

public GetCol(string $sql[, array<string|int, mixed> $inputarr = null ][, bool $trim = false ]) : array<string|int, mixed>
Parameters
$sql : string

The SQL statement to execute.

$inputarr : array<string|int, mixed> = null

Any parameters marked as placeholders in the SQL statement.

$trim : bool = false

Optionally trim the output results.

Return values
array<string|int, mixed>

A single flat array of results, one entry per row matched.

GetOne()

Execute an SQL statement and return a single value.

public GetOne(string $sql[, array<string|int, mixed> $inputarr = null ]) : mixed
Parameters
$sql : string

The SQL statement to execute.

$inputarr : array<string|int, mixed> = null

Any parameters marked as placeholders in the SQL statement.

GetRow()

Exeute an SQL statement that returns one row of results, and return that row as an associative array.

public GetRow(string $sql[, array<string|int, mixed> $inputarr = null ]) : array<string|int, mixed>
Parameters
$sql : string

The SQL statement to execute.

$inputarr : array<string|int, mixed> = null

Any parameters marked as placeholders in the SQL statement.

Return values
array<string|int, mixed>

An associative array representing a single resultset row.

HasFailedTrans()

Test if a transaction has failed.

public abstract HasFailedTrans() : bool
Return values
bool

IfNull()

Output the mysql expression to test if an item is null.

public abstract IfNull(string $field, string $ifNull) : string
Parameters
$field : string

The field to test

$ifNull : string

The value to use if $field is null.

Return values
string

Initialize()

Create a new database connection object.

public static Initialize(Connectionspec $spec) : Connection

This is the preferred wa to open a new database connection.

Parameters
$spec : Connectionspec

An object describing the database to connect to.

Tags
throws
ConnectionSpecException
todo

Move this into a factory class

Return values
Connection

Insert_ID()

Return the numeric ID of the last insert query into a table with an auto-increment field.

public abstract Insert_ID() : int
Return values
int

IsConnected()

Test if the connection object is connected to the database.

public abstract IsConnected() : bool
Return values
bool

NewDataDictionary()

Create a new data dictionary object.

public abstract & NewDataDictionary() : DataDictionary

Data Dictionary objects are used for manipulating tables, i.e: creating, altering and editing them.

Return values
DataDictionary

QMagic()

Quote a string magically using the magic quotes flag.

public QMagic(string $str) : string

This method is now just a deprecated alias for the qstr flag as we now require magic quotes to be disabled.

Parameters
$str : string
Return values
string

qstr()

Quote a string in a database agnostic manner.

public abstract qstr(string $str) : string

Warning: This method may require two way traffic with the database depending upon the database.

Parameters
$str : string
Return values
string

RollbackTrans()

Roll back a simple transaction.

public abstract RollbackTrans() : mixed

SelectLimit()

Execute an SQL Select and limit the output.

public SelectLimit(string $sql[, int $nrows = -1 ][, int $offset = -1 ][, mixed $inputarr = null ]) : ResultSet
Parameters
$sql : string
$nrows : int = -1

The number of rows to return

$offset : int = -1

The starting offset of rows to return

$inputarr : mixed = null
Return values
ResultSet

SetDebugCallback()

Set the debug callback.

public SetDebugCallback([callable $debug_handler = null ]) : mixed
Parameters
$debug_handler : callable = null

SetDebugMode()

Toggle debug mode.

public SetDebugMode([bool $flag = true ][, callable $debug_handler = null ]) : mixed
Parameters
$flag : bool = true

Enable or Disable debug mode.

$debug_handler : callable = null

SetErrorHandler()

Set an error handler function

public SetErrorHandler([callable $fn = null ]) : mixed
Parameters
$fn : callable = null

StartTrans()

Begin a smart transaction

public abstract StartTrans() : mixed

Time()

An alias for the UnixTimestamp method.

public Time() : int
Return values
int

UnixDate()

Generate a unix timestamp representing the current date at midnight.

public UnixDate() : int
Return values
int

UnixTimeStamp()

A convenience method for converting a database specific string representing a date and time into a unix timestamp.

public UnixTimeStamp(string $str) : int
Parameters
$str : string
Return values
int

        
On this page

Search results