Datenbank Klasse verwenden: Unterschied zwischen den Versionen

Aus Contao Community Documentation

(Datensätze lesen)
(Datensätze lesen)
Zeile 30: Zeile 30:
 
</source>
 
</source>
  
Die Fragezeichen werden durch die Parameter von ''execute'' ersetzt.
+
Die Fragezeichen sind Wildcards. Sie werden der Reihenfolge nach von den Parametern der execute-Funktion ersetzt. Dabei werden die parameter escaped, also für die Datenbank aufbereitet.
 +
Das schütz allerdings '''nicht''' vor boshaften Benutzereingaben. Diese sollten immer mit der Input-Klasse verarbeitet werden!
  
 
== Datensätze schreiben ==
 
== Datensätze schreiben ==

Version vom 18. Februar 2011, 10:52 Uhr

MsgError.png Unvollständiger Artikel: dieser Artikel ist noch nicht sauber bearbeitet.

Bitte erweitere ihn und entferne erst anschliessend diesen Hinweis.


Informationen zur Datenbank-Klasse

Contao bietet für Entwickler eine Klasse an, um mit der Datenbank zu kommunizieren. Diese sollte beim Entwickeln von Erweiterungen unbedingt verwendet werden!

Die Datenbank-Klasse bietet mehrere Vorteile:

  • Die Daten werden "gesäubert" und störende Zeichen maskiert
  • Ein Objekt der Klasse Database_Result wird zurückgegeben. Dieses enthält alle Informationen zum Query
  • Ersparnis von Schreibarbeit

Operationen auf der Datenbank

Datensätze lesen

Lesen von Datensätzen ohne Bedingung

$result = $this->Database->prepare("SELECT * FROM tl_log")->execute();

Lesen von Datensätzen mit Bedingung

$result = $this->Database->prepare("SELECT * FROM tl_log WHERE id=?")->execute(1);
$result = $this->Database->prepare("SELECT * FROM tl_log WHERE id=? OR id=?")->execute(1, 5);

Die Fragezeichen sind Wildcards. Sie werden der Reihenfolge nach von den Parametern der execute-Funktion ersetzt. Dabei werden die parameter escaped, also für die Datenbank aufbereitet. Das schütz allerdings nicht vor boshaften Benutzereingaben. Diese sollten immer mit der Input-Klasse verarbeitet werden!

Datensätze schreiben

Das Ergebnis auswerten

Tipps & Tricks

Ansichten
Meine Werkzeuge

Contao Community Documentation

God: "what is your job?"
me: "i am a software developer ... i develop websites with Contao 3"
God: "sounds cool, what are you working on today? Web sockets? Ajax? HTML5 video streaming?"
me: "no, i am trying to send an email ...."

Leo Unglaub
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge