-
Schneller Einstieg
-
Grundlagen
-
Hilfsklassen
- Benchmark Klasse
- Cache Klasse
- Captcha Klasse
- cURL Klasse
- Database Klasse
- Date Klasse
- Errors Klasse
- FileSystem Klasse
- FTP Klasse
- Images Klasse
- Language Klasse
- Logger Klasse
- Number Klasse
- PayPal Klasse
- PHPMailer Klasse
- Plugins Klasse
- RestClient Klasse
- Security Klasse
- Template Klasse
- Text Klasse
- URL Klasse
- XML Klasse
- ZIP Klasse
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()