Database Klasse

In den folgenden Abschnitten werden die einzelnen Methoden der Klasse erklärt.

quefetch


public Array quefetch ( string $sql)

Mit der Methode quefetch lassen sich einzeilige Ergebnisse von SELECT Anweisungen auslesen.

Parameterliste
sql

Die SQL SELECT Anweisung die schlussendlich das Element in der Datenbank selektiert und somit zurückgibt.


result_array


public Array result_array ( string $sql)

Diese Methode ist ähnlich aufgebaut wie die quefetch Methode. Nur liefert result_array nicht nur ein Ergebnis zurück sondern mehrere. Die SQL Anfrage muss hierbei eine SELECT Anweisung sein.

Parameterliste
sql

Die SQL SELECT Anweisung die schlussendlich die Elemente in der Datenbank selektiert und somit zurückgibt.


multi_query


public Boolean multi_query ( string $sql)

Mit der Methode multi_query kann man mehrere SQL Befehle Gleichzeitig ausführen. Hierbei können zum Beispiel mehrere INSERT Befehle aneinander hängen. Diese werden dann Schritt für Schritt abgearbeitet. Dies spart Ressourcen und belastet weniger die Datenbank.

Parameterliste
sql

Die SQL Anweisung die alle Befehle in einem String mit einem Semikolon (;) getrennt miteinander auflistet.


multi_query_safety (ab v2.4.0)


public Boolean multi_query_safety ( string $sql, array $execute)

Mittels der Methode multi_query_safety kann man mehrere aneinander gereihte Query Anweisungen auf einmal verarbeiten lassen. Ander als bei der Methode multi_query wird hier auf das Prepared Statement Verfahren zurückgegriffen.

Parameterliste
sql

Die SQL Anweisung die alle Befehle in einem String mit einem Semikolon (;) getrennt miteinander auflistet.

execute

Enthält ein Array mit den Werten die durch die Platzhalter ? ersetzt werden sollen. Eine Beispiel SQL Anfrage: INSERT INTO `table` SET `field` = ? Dann müsste das execute Array wie folgt aussehen: $execute = array('meinWert'); Das Prepared Statements Verfahren macht dann daraus folgendes: INSERT INTO `table` SET `field` = "meinWert". Dabei kontrolliert es ob der Wert "meinWert" für SQL schädlichen Code beinhaltet und säubert diesen.


version


public mixed version ()

Gibt die aktuell installierte Datenbanktreiber Version zurück.


insert_id


public Integer insert_id ( String $name = null)

Gibt den zuletzt hinzugefügten PRIMARY KEY eines INSERT Befehls zurück.

Parameterliste
name

Der Name des INSERT Befehls von dem der PRIMARY KEY zurück gegeben werden soll. Standardmäßig null, somit der letzt INSERT Befehl.


safetyQuery


public Mixed safetyQuery ( String $sql, Array $execute, Boolean $isResultAssociative = true, Boolean $getFirstResult = false)

Führt einen Prepared Statements Befehl aus und geht somit sicher das alle übergebenen Parameter auch ohne Schädlichen SQL Code in die Datenbank geschrieben werden.

Parameterliste
sql

Der SQL Befehl der ausgeführt werden soll. Dabei sollten Werte durch den Platzhalter ? ersetzt werden. Diese Platzhalter werden durch den Inhalt in dem Parameter execute durch das Prepared Statements Verfahren sicher ersetzt.

execute

Enthält ein Array mit den Werten die durch die Platzhalter ? ersetzt werden sollen. Eine Beispiel SQL Anfrage: INSERT INTO `table` SET `field` = ? Dann müsste das execute Array wie folgt aussehen: $execute = array('meinWert'); Das Prepared Statements Verfahren macht dann daraus folgendes: INSERT INTO `table` SET `field` = "meinWert". Dabei kontrolliert es ob der Wert "meinWert" für SQL schädlichen Code beinhaltet und säubert diesen.

isResultAssociative

Wenn es sich um eine SELECT Anfrage handelt kann man hier bestimmen das dass Ergebnis als Assoziatives Array zurückgegeben werden soll. Ist der Wert auf false gesetzt kommt eine Boolesche Antwort zurück, praktisch für INSERT, UPDATE oder DELETE Befehle.

getFirstResult

Wenn es sich um eine SELECT Anfrage handelt und man möchte nur das erste Resultat dieses zurückgegebenen Ergebnisses haben, kann man hier ein true Eintragen. Standardmäßig false


insertTable (MySQL)


public Boolean insertTable ( String $table, Array $setParameter)

Fügt einen Wert in die Datenbanktabelle ein.

Parameterliste
table

Der Tabellenname in den der Wert hinzugefügt werden soll.

setParameter

Ein Array mit den Key (Feldname) und Value(Feldwerten) Werten die für die Tabelle notwendig sind.


updateTable (MySQL)


public Boolean updateTable ( String $table, Array $setParameter, Array $whereParameter, int $limit = 0)

Aktualisiert einen oder mehrere Werte in einer Tabelle

Parameterliste
table

Der Tabellenname in dem die Werte aktualisiert werden sollen.

setParameter

Die SET Parameter in einem Array, wobei der Key der Feldname ist und das Value der Feldwert.

whereParameter

Die WHERE Bedingungen der UPDATE Anweisung. Wobei key der Feldname ist und value der Feldwert. Feldwerte können auch MySQL interne Funktionen beinhalten. Das heißt die Methode erkennt ob es sich um einen Standardmäßigen Wert handelt oder um eine interne MySQL Funktion.

limit

Kann man einschränken wie viel man maximal Aktualisieren möchte. Standardmäßig 0, heißt alles.


deleteTable (MySQL)


public Boolean deleteTable ( String $table, Array $whereParameter, int $limit = 0)

Löscht Einträge aus einer Datenbanktabelle raus.

Parameterliste
table

Der Tabellenname aus dem der Inhalt gelöscht werden soll.

whereParameter

Die WHERE Bedingungen für den DELETE Befehl. Dabei gilt, key ist der Feldname und value der Feldwert. Dabei werden MySQL Funktionen berücksichtigt und erkannt.

limit

Die Anzahl an maximal zu löschenden Inhalten. Standardmäßig 0, heißt alles was gefunden wird.



Die Database Klasse erkennt ob bestimmte Inhalte nur reine Inhalte sind oder MySQL Funktionen und führt diese als seuche aus. Hier eine Liste von MySQL Funktionen die erkannt werden können:

  • ABS()
  • ACOS()
  • ADDDATE()
  • ADDTIME()
  • AES_DECRYPT()
  • AES_ENCRYPT()
  • ANY_VALUE()
  • ASCII()
  • ASIN()
  • ASYMMETRIC()
  • ATAN()
  • AVG()
  • BENCHMARK()
  • BETWEEN()
  • BIN()
  • BIT_AND()
  • BIT_COUNT()
  • BIT_LENGTH()
  • BIT_OR()
  • BIT_XOR()
  • CAST()
  • CEIL()
  • CHAR()
  • COALESCE()
  • COERCIBILITY()
  • COLLATION()
  • COMPRESS()
  • CONCAT()
  • CONNECTION_ID()
  • CONV()
  • COS()
  • COT()
  • COUNT()
  • CRC32()
  • CREATE_*
  • CURDATE()
  • CURRENT_*
  • CURTIME()
  • DATABASE()
  • DATE_*
  • DATE()
  • DAY()
  • DECODE()
  • DEFAULT()
  • DEGREES()
  • ELT()
  • ENCODE()
  • EXP()
  • EXTRACT()
  • FIELD()
  • FIND_IN_SET()
  • FLOOR()
  • FORMAT()
  • FOUND_*
  • FROM_*
  • GET_*
  • GREATEST()
  • GROUP_*
  • GTID_*
  • HEX()
  • HOUR()
  • IF()
  • IN()
  • IS_*
  • ISNULL()
  • JSON_*
  • LAST_*
  • LCASE()
  • LEAST()
  • LEFT()
  • LENGTH()
  • LIKE()
  • LN()
  • LOAD_*
  • LOCAL()
  • LOCATE()
  • LOG()
  • LOWER()
  • LPAD()
  • LTRIM()
  • MAKE_*
  • MAKEDATE()
  • MAKETIME()
  • MASTER_POS_WAIT()
  • MATCH()
  • MAX()
  • MBR()
  • MD5()
  • MICROSECOND()
  • MID()
  • MIN()
  • MLine()
  • MOD()
  • MONTH()
  • MPointFrom()
  • MPolyFrom()
  • MultiLineString()
  • MultiPoint()
  • MultiPolygon()
  • NAME_CONST()
  • NOT BETWEEN()
  • NOT IN()
  • NOT LIKE()
  • NOT REGEXP()
  • NOT()
  • NOW()
  • NULLIF()
  • OCT()
  • OLD_PASSWORD()
  • ORD()
  • PERIOD_ADD()
  • PERIOD_DIFF()
  • PI()
  • Point()
  • Polygon()
  • POSITION()
  • POW()
  • PROCEDURE()
  • ANALYSE()
  • QUARTER()
  • QUOTE()
  • RADIANS()
  • RAND()
  • REGEXP()
  • RELEASE_*
  • REPEAT()
  • REPLACE()
  • REVERSE()
  • RIGHT()
  • RLIKE()
  • ROUND()
  • ROW_*
  • RPAD()
  • RTRIM()
  • SCHEMA()
  • SEC_TO_TIME()
  • SECOND()
  • SESSION_USER()
  • SHA()
  • SIGN()
  • SIN()
  • SLEEP()
  • SOUNDEX()
  • SOUND_*
  • SPACE()
  • SQRT()
  • ST_*
  • STD()
  • STDDEV()
  • STR_TO_DATE()
  • STRCMP()
  • SUB()
  • SUM()
  • SYSDATE()
  • SYSTEM_USER()
  • TAN()
  • TIME()
  • TO_*
  • TRIM()
  • TRUNCATE()
  • UCASE()
  • UNCOMPRESS()
  • UNHEX()
  • UNIX()
  • UpdateXML()
  • UPPER()
  • USER()
  • UTC_*
  • UUID()
  • VALIDATE_PASSWORD_STRENGTH()
  • VALUES()
  • VAR_*
  • VARIANCE()
  • VERSION()
  • WAIT_*
  • WEEK()
  • WEIGHT_STRING()
  • XOR()
  • YEAR()