<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://de.contaowiki.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://de.contaowiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Polyfragmentiert</id>
		<title>Contao Community Documentation - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://de.contaowiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Polyfragmentiert"/>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Spezial:Beitr%C3%A4ge/Polyfragmentiert"/>
		<updated>2026-05-02T15:30:51Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>https://de.contaowiki.org/Datenbank_Klasse_verwenden</id>
		<title>Datenbank Klasse verwenden</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Datenbank_Klasse_verwenden"/>
				<updated>2012-01-06T17:05:51Z</updated>
		
		<summary type="html">&lt;p&gt;Polyfragmentiert: Zusatz über Import des &amp;quot;Datenbank-Moduls&amp;quot; hinzugefügt.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Informationen zur Datenbank-Klasse =&lt;br /&gt;
&lt;br /&gt;
Contao bietet für Entwickler eine Klasse an, um mit der Datenbank zu kommunizieren. Diese sollte beim Entwickeln von Erweiterungen unbedingt verwendet werden!&lt;br /&gt;
&lt;br /&gt;
* [http://api.contao.org/Library/_libraries---Database.php.html Dokumentation der Klasse]&lt;br /&gt;
&lt;br /&gt;
Die Datenbank-Klasse bietet mehrere Vorteile:&lt;br /&gt;
* Die Daten werden &amp;quot;gesäubert&amp;quot; und störende Zeichen maskiert&lt;br /&gt;
* Ein Objekt der Klasse Database_Result wird zurückgegeben. Dieses enthält alle Informationen zum Query&lt;br /&gt;
* Ersparnis von Schreibarbeit&lt;br /&gt;
&lt;br /&gt;
= Operationen auf der Datenbank =&lt;br /&gt;
&lt;br /&gt;
Die Beispiele setzen voraus, dass zuvor das Datenbank-Modul geladen wurde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;import('Database');&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datensätze lesen ==&lt;br /&gt;
&lt;br /&gt;
'''Lesen von Datensätzen ohne Bedingung'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$result = $this-&amp;gt;Database-&amp;gt;prepare(&amp;quot;SELECT * FROM tl_log&amp;quot;)-&amp;gt;execute();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Lesen von Datensätzen mit Bedingung'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$result = $this-&amp;gt;Database-&amp;gt;prepare(&amp;quot;SELECT * FROM tl_log WHERE id=?&amp;quot;)-&amp;gt;execute(1);&lt;br /&gt;
$result = $this-&amp;gt;Database-&amp;gt;prepare(&amp;quot;SELECT * FROM tl_log WHERE id=? OR id=?&amp;quot;)-&amp;gt;execute(1, 5);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Das schützt allerdings '''nicht''' vor boshaften Benutzereingaben. Diese sollten immer mit der Input-Klasse verarbeitet werden!&lt;br /&gt;
&lt;br /&gt;
== Datensätze schreiben ==&lt;br /&gt;
&lt;br /&gt;
Datensätze können auch über die Datenbank-Klasse geschrieben werden. Es gibt dafür zwei Möglichkeiten.&lt;br /&gt;
&lt;br /&gt;
'''Einzelne Werte per Wildcard setzten'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lng=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;Database-&amp;gt;prepare(&amp;quot;UPDATE tl_log SET source = ? WHERE id=?&amp;quot;)-&amp;gt;execute('BE', 12345);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Mehrere Werte per set-Methode setzten'''&lt;br /&gt;
&amp;lt;source lng=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$set = array('tstamp' =&amp;gt; time(), 'source' =&amp;gt; 'BE', 'action' =&amp;gt; 'GENERAL');&lt;br /&gt;
$this-&amp;gt;Database-&amp;gt;prepare(&amp;quot;UPDATE tl_log %s WHERE id=?&amp;quot;)-&amp;gt;set($set)-&amp;gt;execute(12345);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Methode funktioniert natürlich auch mit einem INSERT Statement.&lt;br /&gt;
&lt;br /&gt;
== Das Ergebnis auswerten ==&lt;br /&gt;
&lt;br /&gt;
= Tipps &amp;amp; Tricks =&lt;br /&gt;
* [[SQL Like Abfrage in doppelten Prozentzeichen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Dev HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Polyfragmentiert</name></author>	</entry>

	</feed>