mixed Query($query, …)

Führt eine sichere MySQL-Abfrage aus und gibt eine Instanz von “MySQL_Result” zurück, sofern es sich nicht um eine “DELETE”- oder “UPDATE”-Abfrage handelt und die Abfrage erfolgreich war. Bei einem Fehler in der Abfrage wird ein Logeintrag geschrieben und „false“ zurückgegeben. $query kann entweder eine normale MySQL-Abfrage (nicht empfohlen) oder eine sichere Abfrage sein. Beispiel für eine sichere Abfrage:

Quellcode
Darstellung:
  1. INSERT INTO tabelle(feld1, feld2) VALUES(?,?)

Statt der einzusetzenden Werte wird nur ein ‘?’ eingefügt. Die Werte werden dann mit an Query() übergeben:

Quellcode
Darstellung:
  1. $res = $db->Query('INSERT INTO tabelle(feld1, feld2) VALUES(?,?)', $wert1, $wert2);

In diesem Beispiel würde das erste Fragezeichen durch $wert1 und das zweite Fragezeichen durch $wert2 ersetzt werden, wobei die Werte jeweils erst in einfache Anführungszeichen gesetzt und sicher escaped werden, um SQL-Injections zu unterbinden und alle Arten von Daten zu erlauben. Dieser Weg wird generell empfohlen, da er sicherer ist und während der Implementierung einfacher und praktischer ist. Sie können auch ein Array übergeben – in dem Fall wird dies als SQL-Liste eingefügt – aus einem Array mit den Werten „test1“ und „test2“ würde also ('test1', 'test2') werden. Diese Funktion ist z.B. bei MySQL-Abfragen mit dem IN-Operator nützlich.