PHP Class rex_sql, redaxo

显示文件 Open project: redaxo/redaxo Class Usage Examples

Protected Properties

Property Type Description
$DBID Die Abfrage-Parameter
$counter anzahl der treffer
$debug
$fieldnames Werte von setRawValue
$lastRow Tabelle im ResultSet
$params Die Abfrage
$pdo PDO[]
$query pointer
$rawFieldnames Spalten im ResultSet
$rawValues Werte von setValue
$rows WHERE parameter array
$stmt PDOStatement
$table Wert der zuletzt gefetchten zeile
$tablenames
$values debug schalter
$whereParams WHERE Bediengung
$wherevar Tabelle setzen

Public Methods

Method Description
addGlobalCreateFields ( string $user = null )
addGlobalUpdateFields ( string $user = null )
checkDbConnection ( $host, $login, $pw, $dbname, $createDb = false ) Prueft die uebergebenen Zugangsdaten auf gueltigkeit und legt ggf. die Datenbank an.
current ( )
datetime ( integer | null $timestamp = null ) : string Returns a datetime string in sql datetime format (Y-m-d H:i:s) using the given timestamp or the current time if no timestamp (or null) is given.
delete ( ) Setzt eine Delete-Anweisung auf die angegebene Tabelle mit den angegebenen WHERE Parametern ab.
escape ( string $value ) : string Escaped den uebergeben Wert fuer den DB Query.
escapeIdentifier ( string $name ) : string Escapes and adds backsticks around.
execute ( array $params = [] ) Executes the prepared statement with the given input parameters.
factory ( integer $DBID = 1 ) : static Creates a rex_sql instance.
flushValues ( ) Stellt alle Values, die mit setValue() gesetzt wurden, zurueck.
getArray ( string $query = null, array $params = [], integer $fetchType = PDO::FETCH_ASSOC ) : array Laedt das komplette Resultset in ein Array und gibt dieses zurueck.
getArrayValue ( string $colName ) : array Returns the array value of a (json encoded) column.
getDBArray ( string $query = null, array $params = [], integer $fetchType = PDO::FETCH_ASSOC ) : array Laedt das komplette Resultset in ein Array und gibt dieses zurueck und wechselt die DBID falls vorhanden.
getDateTimeValue ( string $colName ) : integer | null Returns the unix timestamp of a datetime column.
getErrno ( ) Gibt die zuletzt aufgetretene Fehlernummer zurueck.
getError ( ) Gibt den zuletzt aufgetretene Fehler zurueck.
getFieldnames ( ) Gibt die Spaltennamen des ResultSets zurueck.
getFields ( ) Gibt die Anzahl der Felder/Spalten zurueck.
getLastId ( ) Gibt die letzte InsertId zurueck.
getQueryType ( string $qry ) : boolean | string Gibt den Typ der Abfrage (SQL) zurueck, oder false wenn die Abfrage keinen Typ enthaelt.
getRow ( $fetch_type = PDO::FETCH_ASSOC ) Gibt den Wert der aktuellen Zeile im ResultSet zurueck und bewegt den internen Zeiger auf die naechste Zeile.
getRows ( ) Gibt die Anzahl der Zeilen zurueck.
getServerVersion ( $DBID = 1 ) Gibt die Serverversion zurueck.
getTablenames ( )
getValue ( string $colName ) : mixed Returns the value of a column.
getWhere ( )
hasError ( ) Prueft, ob ein Fehler aufgetreten ist.
hasNext ( ) * Prueft ob das Resultset weitere Datensaetze enthaelt
hasValue ( string $feldname ) : boolean Prueft, ob eine Spalte im Resultset vorhanden ist.
hasValues ( ) : boolean Returns whether values are set inside this rex_sql object.
insert ( ) Setzt eine Insert-Anweisung auf die angegebene Tabelle mit den angegebenen Werten ab.
isNull ( $feldname ) Prueft, ob das Feld mit dem Namen $feldname Null ist.
key ( )
next ( )
prepareQuery ( string $qry ) : PDOStatement Prepares a PDOStatement.
replace ( ) Setzt eine Replace-Anweisung auf die angegebene Tabelle mit den angegebenen Werten ab.
reset ( ) Setzt den Cursor des Resultsets zurueck zum Anfang.
rewind ( )
select ( string $fields = '*' ) Setzt eine Select-Anweisung auf die angegebene Tabelle mit den WHERE Parametern ab.
setArrayValue ( string $colName, array $value ) Set the array value of a column (json encoded).
setDBQuery ( string $query, array $params = [] ) Setzt eine Abfrage (SQL) ab, wechselt die DBID falls vorhanden.
setDateTimeValue ( string $colName, integer | null $timestamp ) Sets the datetime value of a column.
setDebug ( boolean $debug = true ) Setzt Debugmodus an/aus.
setNewId ( string $field, integer $start_id ) : integer Setzt eine Spalte auf den naechst moeglich auto_increment Wert.
setQuery ( string $query, array $params = [] ) Executes the given sql-query.
setRawValue ( string $colName, string $value ) Sets the raw value of a column.
setTable ( string $table ) Setzt den Tabellennamen.
setValue ( string $colName, mixed $value ) Set the value of a column.
setValues ( array $valueArray ) Setzt ein Array von Werten zugleich.
setWhere ( string $where, array $whereParams = null ) Setzt die WHERE Bedienung der Abfrage.
showColumns ( string $table, integer $DBID = 1 ) : array Sucht Spalteninformationen der Tabelle $table der Datenbankverbindung $DBID.
showCreateTable ( string $table, integer $DBID = 1 ) : string Erstellt das CREATE TABLE Statement um die Tabelle $table der Datenbankverbindung $DBID zu erstellen.
showTables ( integer $DBID = 1, string $tablePrefix = null ) : array Sucht alle Tabellen der Datenbankverbindung $DBID.
update ( ) Setzt eine Update-Anweisung auf die angegebene Tabelle mit den angegebenen Werten und WHERE Parametern ab.
valid ( )

Protected Methods

Method Description
__construct ( $DBID = 1 )
buildPreparedValues ( ) Baut den SET bestandteil mit der verfuegbaren values zusammen und gibt diesen zurueck.
createConnection ( $host, $database, $login, $password, $persistent = false )
fetchValue ( $feldname )
getQueryDBID ( string $qry ) : boolean Gibt die DatenbankId der Abfrage (SQL) zurueck, oder false wenn die Abfrage keine DBID enthaelt.
isValueOf ( string $feld, string $prop ) : boolean Prueft den Wert einer Spalte der aktuellen Zeile ob ein Wert enthalten ist.
printError ( $qry, $params ) Gibt die letzte Fehlermeldung aus.
selectDB ( $DBID ) Stellt die Verbindung zur Datenbank her.
stripQueryDBID ( string &$qry ) : string Entfernt die DBID aus einer Abfrage (SQL) und gibt die DBID zurueck falls vorhanden, sonst false.

Private Methods

Method Description
buildWhereArg ( array $arrFields, integer $level ) : string Concats the given array to a sql condition using bound parameters.
fetchMeta ( )
flush ( ) Stellt alle Werte auf den Ursprungszustand zurueck.

Method Details

__construct() protected method

protected __construct ( $DBID = 1 )

addGlobalCreateFields() public method

public addGlobalCreateFields ( string $user = null )
$user string the name of the user who updated the dataset. Defaults to the current user

addGlobalUpdateFields() public method

public addGlobalUpdateFields ( string $user = null )
$user string the name of the user who created the dataset. Defaults to the current user

buildPreparedValues() protected method

Baut den SET bestandteil mit der verfuegbaren values zusammen und gibt diesen zurueck.
See also: setValue
protected buildPreparedValues ( )

checkDbConnection() public static method

Prueft die uebergebenen Zugangsdaten auf gueltigkeit und legt ggf. die Datenbank an.
public static checkDbConnection ( $host, $login, $pw, $dbname, $createDb = false )

createConnection() protected static method

protected static createConnection ( $host, $database, $login, $password, $persistent = false )

current() public method

See also: http://www.php.net/manual/en/iterator.current.php
public current ( )

datetime() public static method

Returns a datetime string in sql datetime format (Y-m-d H:i:s) using the given timestamp or the current time if no timestamp (or null) is given.
public static datetime ( integer | null $timestamp = null ) : string
$timestamp integer | null
return string

delete() public method

Setzt eine Delete-Anweisung auf die angegebene Tabelle mit den angegebenen WHERE Parametern ab.
public delete ( )

escape() public method

Escaped den uebergeben Wert fuer den DB Query.
public escape ( string $value ) : string
$value string den zu escapenden Wert
return string

escapeIdentifier() public method

Escapes and adds backsticks around.
public escapeIdentifier ( string $name ) : string
$name string
return string

execute() public method

Executes the prepared statement with the given input parameters.
public execute ( array $params = [] )
$params array Array of input parameters

factory() public static method

Creates a rex_sql instance.
public static factory ( integer $DBID = 1 ) : static
$DBID integer
return static Returns a rex_sql instance

fetchValue() protected method

protected fetchValue ( $feldname )

flushValues() public method

Stellt alle Values, die mit setValue() gesetzt wurden, zurueck.
public flushValues ( )

getArray() public method

Laedt das komplette Resultset in ein Array und gibt dieses zurueck.
public getArray ( string $query = null, array $params = [], integer $fetchType = PDO::FETCH_ASSOC ) : array
$query string The sql-query
$params array An optional array of statement parameter
$fetchType integer
return array

getArrayValue() public method

Returns the array value of a (json encoded) column.
public getArrayValue ( string $colName ) : array
$colName string Name of the column
return array

getDBArray() public method

Laedt das komplette Resultset in ein Array und gibt dieses zurueck und wechselt die DBID falls vorhanden.
public getDBArray ( string $query = null, array $params = [], integer $fetchType = PDO::FETCH_ASSOC ) : array
$query string The sql-query
$params array An optional array of statement parameter
$fetchType integer
return array

getDateTimeValue() public method

Returns the unix timestamp of a datetime column.
public getDateTimeValue ( string $colName ) : integer | null
$colName string Name of the column
return integer | null Unix timestamp or `null` if the column is `null` or not in sql datetime format

getErrno() public method

Gibt die zuletzt aufgetretene Fehlernummer zurueck.
public getErrno ( )

getError() public method

Gibt den zuletzt aufgetretene Fehler zurueck.
public getError ( )

getFieldnames() public method

Gibt die Spaltennamen des ResultSets zurueck.
public getFieldnames ( )

getFields() public method

Gibt die Anzahl der Felder/Spalten zurueck.
public getFields ( )

getLastId() public method

Gibt die letzte InsertId zurueck.
public getLastId ( )

getQueryDBID() protected static method

Gibt die DatenbankId der Abfrage (SQL) zurueck, oder false wenn die Abfrage keine DBID enthaelt.
protected static getQueryDBID ( string $qry ) : boolean
$qry string
return boolean

getQueryType() public static method

Moegliche Typen: - SELECT - SHOW - UPDATE - INSERT - DELETE - REPLACE - CREATE - CALL - OPTIMIZE
public static getQueryType ( string $qry ) : boolean | string
$qry string
return boolean | string

getRow() public method

Gibt den Wert der aktuellen Zeile im ResultSet zurueck und bewegt den internen Zeiger auf die naechste Zeile.
public getRow ( $fetch_type = PDO::FETCH_ASSOC )

getRows() public method

Gibt die Anzahl der Zeilen zurueck.
public getRows ( )

getServerVersion() public static method

Die Versionsinformation ist erst bekannt, nachdem der rex_sql Konstruktor einmalig erfolgreich durchlaufen wurde.
public static getServerVersion ( $DBID = 1 )

getTablenames() public method

public getTablenames ( )

getValue() public method

Returns the value of a column.
public getValue ( string $colName ) : mixed
$colName string Name of the column
return mixed

getWhere() public method

public getWhere ( )

hasError() public method

Prueft, ob ein Fehler aufgetreten ist.
public hasError ( )

hasNext() public method

* Prueft ob das Resultset weitere Datensaetze enthaelt
public hasNext ( )

hasValue() public method

Prueft, ob eine Spalte im Resultset vorhanden ist.
public hasValue ( string $feldname ) : boolean
$feldname string Name der Spalte
return boolean

hasValues() public method

Returns whether values are set inside this rex_sql object.
public hasValues ( ) : boolean
return boolean True if value isset and not null, otherwise False

insert() public method

Setzt eine Insert-Anweisung auf die angegebene Tabelle mit den angegebenen Werten ab.
public insert ( )

isNull() public method

Falls das Feld nicht vorhanden ist, wird Null zurueckgegeben, sonst True/False
public isNull ( $feldname )

isValueOf() protected method

Prueft den Wert einer Spalte der aktuellen Zeile ob ein Wert enthalten ist.
protected isValueOf ( string $feld, string $prop ) : boolean
$feld string Spaltenname des zu pruefenden Feldes
$prop string Wert, der enthalten sein soll
return boolean

key() public method

See also: http://www.php.net/manual/en/iterator.key.php
public key ( )

next() public method

See also: http://www.php.net/manual/en/iterator.next.php
public next ( )

prepareQuery() public method

Prepares a PDOStatement.
public prepareQuery ( string $qry ) : PDOStatement
$qry string A query string with placeholders
return PDOStatement The prepared statement

printError() protected method

Gibt die letzte Fehlermeldung aus.
protected printError ( $qry, $params )

replace() public method

Setzt eine Replace-Anweisung auf die angegebene Tabelle mit den angegebenen Werten ab.
public replace ( )

reset() public method

Setzt den Cursor des Resultsets zurueck zum Anfang.
public reset ( )

rewind() public method

See also: http://www.php.net/manual/en/iterator.rewind.php
public rewind ( )

select() public method

Setzt eine Select-Anweisung auf die angegebene Tabelle mit den WHERE Parametern ab.
public select ( string $fields = '*' )
$fields string

selectDB() protected method

Stellt die Verbindung zur Datenbank her.
protected selectDB ( $DBID )

setArrayValue() public method

Set the array value of a column (json encoded).
public setArrayValue ( string $colName, array $value )
$colName string Name of the column
$value array The value

setDBQuery() public method

Setzt eine Abfrage (SQL) ab, wechselt die DBID falls vorhanden.
public setDBQuery ( string $query, array $params = [] )
$query string The sql-query
$params array An optional array of statement parameter

setDateTimeValue() public method

Sets the datetime value of a column.
public setDateTimeValue ( string $colName, integer | null $timestamp )
$colName string Name of the column
$timestamp integer | null Unix timestamp (if `null` is given, the current time is used)

setDebug() public method

Setzt Debugmodus an/aus.
public setDebug ( boolean $debug = true )
$debug boolean Debug TRUE/FALSE

setNewId() public method

Setzt eine Spalte auf den naechst moeglich auto_increment Wert.
public setNewId ( string $field, integer $start_id ) : integer
$field string Name der Spalte
$start_id integer
return integer

setQuery() public method

If parameters will be provided, a prepared statement will be executed. example 1: $sql->setQuery('SELECT * FROM mytable where id=:id, 'array('id' => 3)); NOTE: named-parameters/?-placeholders are not supported in LIMIT clause!
public setQuery ( string $query, array $params = [] )
$query string The sql-query
$params array An optional array of statement parameter

setRawValue() public method

Sets the raw value of a column.
public setRawValue ( string $colName, string $value )
$colName string Name of the column
$value string The raw value

setTable() public method

Setzt den Tabellennamen.
public setTable ( string $table )
$table string Tabellenname

setValue() public method

Set the value of a column.
public setValue ( string $colName, mixed $value )
$colName string Name of the column
$value mixed The value

setValues() public method

Setzt ein Array von Werten zugleich.
public setValues ( array $valueArray )
$valueArray array Ein Array von Werten

setWhere() public method

example 1: $sql->setWhere(array('id' => 3, 'field' => '')); // results in id = 3 AND field = '' $sql->setWhere(array(array('id' => 3, 'field' => ''))); // results in id = 3 OR field = '' example 2: $sql->setWhere('myid = :id OR anotherfield = :field', array('id' => 3, 'field' => '')); example 3 (deprecated): $sql->setWhere('myid="35" OR abc="zdf"');
public setWhere ( string $where, array $whereParams = null )
$where string
$whereParams array

showColumns() public static method

Beispiel fuer den Rueckgabewert: Array ( [0] => Array ( [name] => pid [type] => int(11) [null] => NO [key] => PRI [default] => [extra] => auto_increment ) [1] => Array ( [name] => id [type] => int(11) [null] => NO [key] => MUL [default] => [extra] => ) )
public static showColumns ( string $table, integer $DBID = 1 ) : array
$table string Name der Tabelle
$DBID integer Id der Datenbankverbindung
return array Ein mehrdimensionales Array das die Metadaten enthaelt

showCreateTable() public static method

Erstellt das CREATE TABLE Statement um die Tabelle $table der Datenbankverbindung $DBID zu erstellen.
public static showCreateTable ( string $table, integer $DBID = 1 ) : string
$table string Name der Tabelle
$DBID integer Id der Datenbankverbindung
return string CREATE TABLE Sql-Statement zu erstsellung der Tabelle

showTables() public static method

Falls $tablePrefix gesetzt ist, werden nur dem Prefix entsprechende Tabellen gesucht.
public static showTables ( integer $DBID = 1, string $tablePrefix = null ) : array
$DBID integer Id der Datenbankverbindung
$tablePrefix string Zu suchender Tabellennamen-Prefix
return array Ein Array von Tabellennamen

stripQueryDBID() protected static method

Entfernt die DBID aus einer Abfrage (SQL) und gibt die DBID zurueck falls vorhanden, sonst false.
protected static stripQueryDBID ( string &$qry ) : string
$qry string Abfrage
return string

update() public method

Setzt eine Update-Anweisung auf die angegebene Tabelle mit den angegebenen Werten und WHERE Parametern ab.
public update ( )

valid() public method

See also: http://www.php.net/manual/en/iterator.valid.php
public valid ( )

Property Details

$DBID protected_oe property

Die Abfrage-Parameter
protected $DBID

$counter protected_oe property

anzahl der treffer
protected $counter

$debug protected_oe property

protected $debug

$fieldnames protected_oe property

Werte von setRawValue
protected $fieldnames

$lastRow protected_oe property

Tabelle im ResultSet
protected $lastRow

$params protected_oe property

Die Abfrage
protected $params

$pdo protected_oe static_oe property

protected static PDO[] $pdo
return PDO[]

$query protected_oe property

pointer
protected $query

$rawFieldnames protected_oe property

Spalten im ResultSet
protected $rawFieldnames

$rawValues protected_oe property

Werte von setValue
protected $rawValues

$rows protected_oe property

WHERE parameter array
protected $rows

$stmt protected_oe property

protected PDOStatement $stmt
return PDOStatement

$table protected_oe property

Wert der zuletzt gefetchten zeile
protected $table

$tablenames protected_oe property

protected $tablenames

$values protected_oe property

debug schalter
protected $values

$whereParams protected_oe property

WHERE Bediengung
protected $whereParams

$wherevar protected_oe property

Tabelle setzen
protected $wherevar