sqlite3DbConnection
extends 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
- $foundParameters : mixed
- $numericalMarker : mixed
- $parameterMarker : mixed
- $_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.
- close() : mixed
- commit() : mixed
- Commit since the last begin.
- disconnect() : mixed
- alias of close().
- 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() : bool|jDbResultSet
- 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() : jDbResultSet
- prepare a query. It may contain some named parameters declared as ':a_name' in the query.
- query() : bool|jDbResultSet
- 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
- Rollback since the last BEGIN.
- schema() : jDbSchema
- setAttribute() : mixed
- setAutoCommit() : mixed
- sets the autocommit state.
- tools() : jDbTools
- unprefixTable() : string
- Remove the prefix of the given table name.
- _autoCommitNotify() : mixed
- tell sqlite to be autocommit or not.
- _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() : bool|jDbResultSet
- do a query which return nothing.
- _doLimitQuery() : bool|jDbResultSet
- do a query which return a limited number of results.
- _doQuery() : bool|jDbResultSet
- 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
$_debugMode
protected
mixed
$_debugMode
= alse
$_schema
protected
jDbSchema
$_schema
Tags
$foundParameters
protected
mixed
$foundParameters
= array()
$numericalMarker
protected
mixed
$numericalMarker
= alse
$parameterMarker
protected
mixed
$parameterMarker
= '?'
$_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(mixed $profile) : mixed
Parameters
- $profile : mixed
-
profile properties. Its content must be normalized by jDbParameters
Return values
mixed —__destruct()
public
__destruct() : mixed
Return values
mixed —beginTransaction()
begin a transaction.
public
beginTransaction() : mixed
Return values
mixed —close()
public
close() : mixed
Return values
mixed —commit()
Commit since the last begin.
public
commit() : mixed
Return values
mixed —disconnect()
alias of close().
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
errorCode() : int
Return values
int —the last error code
errorInfo()
public
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
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
lastInsertId([mixed $fromSequence = '' ]) : int
Some driver need a sequence name, so give it at first parameter.
Parameters
- $fromSequence : mixed = ''
-
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) : bool|jDbResultSet
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
bool|jDbResultSet —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. It may contain some named parameters declared as ':a_name' in the query.
public
prepare(mixed $query) : jDbResultSet
Parameters
- $query : mixed
Return values
jDbResultSet —a statement with which you can bind values or variables to named parameters, and execute the statement
query()
Launch a SQL Query which returns rows (typically, a SELECT statement).
public
query(string $queryString[, int $fetchmode = self::FETCH_OBJ ][, null|mixed $arg1 = null ][, array<string|int, mixed> $ctoargs = null ]) : bool|jDbResultSet
Parameters
- $queryString : string
-
the SQL query
- $fetchmode : int = self::FETCH_OBJ
-
FETCH_OBJ, FETCH_CLASS or FETCH_INTO
- $arg1 : null|mixed = null
- $ctoargs : array<string|int, mixed> = null
-
arguments for the constructor if FETCH_CLASS
Return values
bool|jDbResultSet —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()
Rollback since the last BEGIN.
public
rollback() : mixed
Return values
mixed —schema()
public
schema() : jDbSchema
Tags
Return values
jDbSchema —setAttribute()
public
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()
tell sqlite to be autocommit or not.
protected
_autoCommitNotify(bool $state) : mixed
Parameters
- $state : bool
-
the state of the autocommit value
Return values
mixed —_connect()
return a connection identifier or false/null if there is an error.
protected
_connect() : int
Return values
int —connection identifier
_disconnect()
do a disconnection (no need to do a test on the connection id).
protected
_disconnect() : mixed
Return values
mixed —_doExec()
do a query which return nothing.
protected
_doExec(mixed $query) : bool|jDbResultSet
Parameters
- $query : mixed
Return values
bool|jDbResultSet —_doLimitQuery()
do a query which return a limited number of results.
protected
_doLimitQuery(mixed $queryString, mixed $offset, mixed $number) : bool|jDbResultSet
Parameters
- $queryString : mixed
- $offset : mixed
- $number : mixed
Return values
bool|jDbResultSet —_doQuery()
do a query which return results.
protected
_doQuery(mixed $query) : bool|jDbResultSet
Parameters
- $query : mixed
Return values
bool|jDbResultSet —_quote()
do the escaping of a string.
protected
_quote(mixed $text, mixed $binary) : string
Parameters
- $text : mixed
- $binary : mixed
Return values
string —the text with non ascii char and quotes escaped
_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