PHP Class rex_sql, redaxo

Afficher le fichier Open project: redaxo/redaxo Class Usage Examples

Protected Properties

Свойство 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

Méthodes publiques

Méthode 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 ( )

Méthodes protégées

Méthode 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

Méthode 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 méthode

protected __construct ( $DBID = 1 )

addGlobalCreateFields() public méthode

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

addGlobalUpdateFields() public méthode

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

buildPreparedValues() protected méthode

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

checkDbConnection() public static méthode

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

createConnection() protected static méthode

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

current() public méthode

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

datetime() public static méthode

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
Résultat string

delete() public méthode

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

escape() public méthode

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

escapeIdentifier() public méthode

Escapes and adds backsticks around.
public escapeIdentifier ( string $name ) : string
$name string
Résultat string

execute() public méthode

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

factory() public static méthode

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

fetchValue() protected méthode

protected fetchValue ( $feldname )

flushValues() public méthode

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

getArray() public méthode

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
Résultat array

getArrayValue() public méthode

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

getDBArray() public méthode

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
Résultat array

getDateTimeValue() public méthode

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

getErrno() public méthode

Gibt die zuletzt aufgetretene Fehlernummer zurueck.
public getErrno ( )

getError() public méthode

Gibt den zuletzt aufgetretene Fehler zurueck.
public getError ( )

getFieldnames() public méthode

Gibt die Spaltennamen des ResultSets zurueck.
public getFieldnames ( )

getFields() public méthode

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

getLastId() public méthode

Gibt die letzte InsertId zurueck.
public getLastId ( )

getQueryDBID() protected static méthode

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

getQueryType() public static méthode

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

getRow() public méthode

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 méthode

Gibt die Anzahl der Zeilen zurueck.
public getRows ( )

getServerVersion() public static méthode

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

getTablenames() public méthode

public getTablenames ( )

getValue() public méthode

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

getWhere() public méthode

public getWhere ( )

hasError() public méthode

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

hasNext() public méthode

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

hasValue() public méthode

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

hasValues() public méthode

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

insert() public méthode

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

isNull() public méthode

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

isValueOf() protected méthode

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
Résultat boolean

key() public méthode

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

next() public méthode

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

prepareQuery() public méthode

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

printError() protected méthode

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

replace() public méthode

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

reset() public méthode

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

rewind() public méthode

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

select() public méthode

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

selectDB() protected méthode

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

setArrayValue() public méthode

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 méthode

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 méthode

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 méthode

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

setNewId() public méthode

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
Résultat integer

setQuery() public méthode

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 méthode

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 méthode

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

setValue() public méthode

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

setValues() public méthode

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

setWhere() public méthode

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 méthode

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
Résultat array Ein mehrdimensionales Array das die Metadaten enthaelt

showCreateTable() public static méthode

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
Résultat string CREATE TABLE Sql-Statement zu erstsellung der Tabelle

showTables() public static méthode

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
Résultat array Ein Array von Tabellennamen

stripQueryDBID() protected static méthode

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
Résultat string

update() public méthode

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

valid() public méthode

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
Résultat 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
Résultat 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