-
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()