jDbConnection
in package
Tags
Table of Contents
- ATTR_AUTOCOMMIT = 0
- ATTR_CASE = 8
- ATTR_CLIENT_VERSION = 5
- ATTR_CONNECTION_STATUS = 7
- ATTR_CURSOR = 10
- ATTR_DRIVER_NAME = 16
- ATTR_ERRMODE = 3
- ATTR_ORACLE_NULLS = 11
- ATTR_PERSISTENT = 12
- ATTR_PREFETCH = 1
- ATTR_SERVER_INFO = 6
- ATTR_SERVER_VERSION = 4
- ATTR_TIMEOUT = 2
- CURSOR_FWDONLY = 0
- CURSOR_SCROLL = 1
- FETCH_CLASS = 8
- FETCH_INTO = 9
- FETCH_OBJ = 5
- $dbms : string
- The database type name (mysql, pgsql ...) It is not the driver name. Several drivers could connect to the same database type. This type name is often used to know whish SQL language we should use.
- $driverName : string
- driver name
- $lastQuery : mixed
- last executed query
- $msgError : string
- The last error message if any
- $profile : array<string|int, mixed>
- profile properties used by the connector
- $_connection : mixed
- the internal connection.
- $_debugMode : mixed
- $_schema : jDbSchema
- $_tools : jDbTools
- $_autocommit : bool
- Are we using an automatic commit ?
- __construct() : mixed
- do a connection to the database, using properties of the given profile
- __destruct() : mixed
- beginTransaction() : mixed
- begin a transaction. Call it before query, limitQuery, exec And then commit() or rollback()
- commit() : mixed
- validate all queries and close a transaction
- disconnect() : mixed
- encloseName() : string
- enclose the field name
- errorCode() : int
- errorInfo() : string
- exec() : int
- Launch a SQL Query (update, delete..) which doesn't return rows
- getAttribute() : string
- getProfileName() : mixed
- hasTablePrefix() : bool
- Check if the current connection has a table prefix set
- lastIdInTable() : int
- return the maximum value of the given primary key in a table
- lastInsertId() : int
- return the id value of the last inserted row.
- limitQuery() : jDbResultSet|bool
- Launch a SQL Query with limit parameter, so it returns only a subset of a result
- prefixTable() : string
- Prefix the given table with the prefix specified in the connection's profile If there's no prefix for the connection's profile, return the table's name unchanged.
- prepare() : statement
- prepare a query
- query() : jDbResultSet|bool
- Launch a SQL Query which returns rows (typically, a SELECT statement)
- quote() : string
- Escape and quotes strings.
- quote2() : string
- Escape and quotes strings. if null, will only return the text "NULL"
- rollback() : mixed
- cancel all queries of a transaction and close the transaction
- schema() : jDbSchema
- setAttribute() : mixed
- setAutoCommit() : mixed
- sets the autocommit state
- tools() : jDbTools
- unprefixTable() : string
- Remove the prefix of the given table name
- _autoCommitNotify() : mixed
- Notify the changes on autocommit Drivers may overload this
- _connect() : int
- return a connection identifier or false/null if there is an error
- _disconnect() : mixed
- do a disconnection (no need to do a test on the connection id)
- _doExec() : jDbResultSet|bool
- do a query which return nothing
- _doLimitQuery() : jDbResultSet|bool
- do a query which return a limited number of results
- _doQuery() : jDbResultSet|bool
- do a query which return results
- _quote() : string
- do the escaping of a string.
- _replaceParam() : mixed
- findParameters() : array<string|int, mixed>
- replace named parameters into the given query, by the given marker, for db API that don't support named parameters for prepared queries.
Constants
ATTR_AUTOCOMMIT
public
mixed
ATTR_AUTOCOMMIT
= 0
ATTR_CASE
public
mixed
ATTR_CASE
= 8
ATTR_CLIENT_VERSION
public
mixed
ATTR_CLIENT_VERSION
= 5
ATTR_CONNECTION_STATUS
public
mixed
ATTR_CONNECTION_STATUS
= 7
ATTR_CURSOR
public
mixed
ATTR_CURSOR
= 10
ATTR_DRIVER_NAME
public
mixed
ATTR_DRIVER_NAME
= 16
ATTR_ERRMODE
public
mixed
ATTR_ERRMODE
= 3
ATTR_ORACLE_NULLS
public
mixed
ATTR_ORACLE_NULLS
= 11
ATTR_PERSISTENT
public
mixed
ATTR_PERSISTENT
= 12
ATTR_PREFETCH
public
mixed
ATTR_PREFETCH
= 1
ATTR_SERVER_INFO
public
mixed
ATTR_SERVER_INFO
= 6
ATTR_SERVER_VERSION
public
mixed
ATTR_SERVER_VERSION
= 4
ATTR_TIMEOUT
public
mixed
ATTR_TIMEOUT
= 2
CURSOR_FWDONLY
public
mixed
CURSOR_FWDONLY
= 0
CURSOR_SCROLL
public
mixed
CURSOR_SCROLL
= 1
FETCH_CLASS
public
mixed
FETCH_CLASS
= 8
FETCH_INTO
public
mixed
FETCH_INTO
= 9
FETCH_OBJ
public
mixed
FETCH_OBJ
= 5
Properties
$dbms
The database type name (mysql, pgsql ...) It is not the driver name. Several drivers could connect to the same database type. This type name is often used to know whish SQL language we should use.
public
string
$dbms
$driverName
driver name
public
string
$driverName
= ''
$lastQuery
last executed query
public
mixed
$lastQuery
$msgError
The last error message if any
public
string
$msgError
= ''
$profile
profile properties used by the connector
public
array<string|int, mixed>
$profile
$_connection
the internal connection.
protected
mixed
$_connection
=
ull
$_debugMode
protected
mixed
$_debugMode
= alse
$_schema
protected
jDbSchema
$_schema
=
ull
Tags
$_tools
protected
jDbTools
$_tools
=
ull
Tags
$_autocommit
Are we using an automatic commit ?
private
bool
$_autocommit
= rue
Methods
__construct()
do a connection to the database, using properties of the given profile
public
__construct(array<string|int, mixed> $profile) : mixed
Parameters
- $profile : array<string|int, mixed>
-
profile properties
Return values
mixed —__destruct()
public
__destruct() : mixed
Return values
mixed —beginTransaction()
begin a transaction. Call it before query, limitQuery, exec And then commit() or rollback()
public
abstract beginTransaction() : mixed
Return values
mixed —commit()
validate all queries and close a transaction
public
abstract commit() : mixed
Return values
mixed —disconnect()
public
disconnect() : mixed
Return values
mixed —encloseName()
enclose the field name
public
encloseName(string $fieldName) : string
Parameters
- $fieldName : string
-
the field name
Tags
Return values
string —the enclosed field name
errorCode()
public
abstract errorCode() : int
Return values
int —the last error code
errorInfo()
public
abstract errorInfo() : string
Return values
string —the last error description
exec()
Launch a SQL Query (update, delete..) which doesn't return rows
public
exec(string $query) : int
Parameters
- $query : string
-
the SQL query
Return values
int —the number of affected rows. False if the query has failed.
getAttribute()
public
abstract getAttribute(int $id) : string
Parameters
- $id : int
-
the attribut id
Tags
Return values
string —the attribute value
getProfileName()
public
getProfileName() : mixed
Return values
mixed —hasTablePrefix()
Check if the current connection has a table prefix set
public
hasTablePrefix() : bool
Tags
Return values
bool —lastIdInTable()
return the maximum value of the given primary key in a table
public
lastIdInTable(string $fieldName, string $tableName) : int
Parameters
- $fieldName : string
-
the name of the primary key
- $tableName : string
-
the name of the table
Return values
int —the maximum value
lastInsertId()
return the id value of the last inserted row.
public
abstract lastInsertId([string $fromSequence = '' ]) : int
Some driver need a sequence name, so give it at first parameter
Parameters
- $fromSequence : string = ''
-
the sequence name
Return values
int —the id value
limitQuery()
Launch a SQL Query with limit parameter, so it returns only a subset of a result
public
limitQuery(string $queryString, int $limitOffset, int $limitCount) : jDbResultSet|bool
Parameters
- $queryString : string
-
the SQL query
- $limitOffset : int
-
the offset of the first row to return
- $limitCount : int
-
the maximum of number of rows to return
Return values
jDbResultSet|bool —SQL Select. False if the query has failed.
prefixTable()
Prefix the given table with the prefix specified in the connection's profile If there's no prefix for the connection's profile, return the table's name unchanged.
public
prefixTable(mixed $table_name) : string
Parameters
- $table_name : mixed
Tags
Return values
string —the prefixed table's name
prepare()
prepare a query
public
abstract prepare(string $query) : statement
Parameters
- $query : string
-
a sql query with parameters
Return values
statement —a statement
query()
Launch a SQL Query which returns rows (typically, a SELECT statement)
public
query(string $queryString[, int $fetchmode = self::FETCH_OBJ ][, mixed $arg1 = null ][, array<string|int, mixed> $ctoargs = null ]) : jDbResultSet|bool
Parameters
- $queryString : string
-
the SQL query
- $fetchmode : int = self::FETCH_OBJ
-
FETCH_OBJ, FETCH_CLASS or FETCH_INTO
- $arg1 : mixed = null
- $ctoargs : array<string|int, mixed> = null
-
arguments for the constructor if FETCH_CLASS
Return values
jDbResultSet|bool —False if the query has failed.
quote()
Escape and quotes strings.
public
quote(string $text, int $parameter_type) : string
Parameters
- $text : string
-
string to quote
- $parameter_type : int
-
unused, just for compatibility with PDO
Return values
string —escaped string
quote2()
Escape and quotes strings. if null, will only return the text "NULL"
public
quote2(string $text[, bool $checknull = true ][, bool $binary = false ]) : string
Parameters
- $text : string
-
string to quote
- $checknull : bool = true
-
if true, check if $text is a null value, and then return NULL
- $binary : bool = false
-
set to true if $text contains a binary string
Tags
Return values
string —escaped string
rollback()
cancel all queries of a transaction and close the transaction
public
abstract rollback() : mixed
Return values
mixed —schema()
public
schema() : jDbSchema
Tags
Return values
jDbSchema —setAttribute()
public
abstract setAttribute(int $id, string $value) : mixed
Parameters
- $id : int
-
the attribut id
- $value : string
-
the attribute value
Tags
Return values
mixed —setAutoCommit()
sets the autocommit state
public
setAutoCommit([bool $state = true ]) : mixed
Parameters
- $state : bool = true
-
the status of autocommit
Return values
mixed —tools()
public
tools() : jDbTools
Tags
Return values
jDbTools —unprefixTable()
Remove the prefix of the given table name
public
unprefixTable(string $tableName) : string
Parameters
- $tableName : string
Tags
Return values
string —the table name unprefixed
_autoCommitNotify()
Notify the changes on autocommit Drivers may overload this
protected
abstract _autoCommitNotify(bool $state) : mixed
Parameters
- $state : bool
-
the new state of autocommit
Return values
mixed —_connect()
return a connection identifier or false/null if there is an error
protected
abstract _connect() : int
Return values
int —connection identifier
_disconnect()
do a disconnection (no need to do a test on the connection id)
protected
abstract _disconnect() : mixed
Return values
mixed —_doExec()
do a query which return nothing
protected
abstract _doExec(mixed $queryString) : jDbResultSet|bool
Parameters
- $queryString : mixed
Return values
jDbResultSet|bool —_doLimitQuery()
do a query which return a limited number of results
protected
abstract _doLimitQuery(mixed $queryString, mixed $offset, mixed $number) : jDbResultSet|bool
Parameters
- $queryString : mixed
- $offset : mixed
- $number : mixed
Return values
jDbResultSet|bool —_doQuery()
do a query which return results
protected
abstract _doQuery(mixed $queryString) : jDbResultSet|bool
Parameters
- $queryString : mixed
Return values
jDbResultSet|bool —_quote()
do the escaping of a string.
protected
_quote(string $text, bool $binary) : string
you should override it into the driver
Parameters
- $text : string
-
the text to escape
- $binary : bool
-
true if the content of the string is a binary content
Return values
string —the escaped string
_replaceParam()
protected
_replaceParam(mixed $matches) : mixed
Parameters
- $matches : mixed
Return values
mixed —findParameters()
replace named parameters into the given query, by the given marker, for db API that don't support named parameters for prepared queries.
protected
findParameters(string $sql, string $marker) : array<string|int, mixed>
Parameters
- $sql : string
- $marker : string
-
a string which will replace each named parameter in the query. it may end by a '%' so named parameters are replaced by numerical parameter. ex : '$%' : named parameters will be replaced by $1, $2, $3...
Return values
array<string|int, mixed> —0:the new sql, 1: list of parameters names, in the order they appear into the query