Joomla 1.6 Entwicklung – Datenbank Insert

In Joomla 1.6 habe ich zwei Möglichkeiten gefunden, sinnvolle Datenbank INSERT Befehle abzusetzen. Die eine Möglichkeit macht es auf objektorientierter Ebene, mit der man ein wenig mehr Möglichkeiten besitzt, als mit der zweiten Methode. Diese besteht einfach aus einem ganz normalen INSERT Query, der einfach ausgeführt wird. Zunächst gibt es aber Grundlegendes, was gemacht werden muss. Dies ist einmal vor dem Erstellen des Query ein Queryprojekt einbauen und einmal darunter die Query-Ausführung. Diese beiden Teile der Datenbankabfrage sind immer gleich. Wir erstellen also erst einmal eine Datenbankverbindung

1
2
3
4
5
6
7
// Hier erstellen wir eine Datenbankverbindung
$db = $this->getDbo();
/**
*    Hier kommt unsere Query-Definition hin
**/

// Und nun müssen wir die Abfrage auch ausführen.
$db->query()

Nun haben wir zweierlei Möglichkeiten einen Datenbank Query in Joomla 1.6 zu definieren. Als erstes möchte ich auf die OOP Variante eingehen. Dabei wird ein neues Query Objekt erstellt und dann nach und nach mit entsprechenden Daten gefüllt. Ich denke hier bestehen mehr Möglichkeiten, da sich die Definition auf beliebigen Code aufteilen lässt und so weitere Berechnungen gemacht werden können, bevor die Query-Definition fertig gestellt wird.

1
2
3
4
5
6
7
8
9
// Wir erstellen einen neuen Query
$sql = $db->getQuery(true);
// Der Query ist ein INSERT in die Tabelle “kontakt” ist
$sql->insert(#__kontakt’);
// wir legen noch Daten für 2 Felder fest
$sql->set(‘vorname’ = ‘Testvorname’);
$sql->set(‘nachname’ = ‘Testnachname’);
//Wir setzen unseren Query bereit zur ausführung
$db->setQuery((string)$sql);

Damit hätten wir einen Objektorientierten INSERT in die Datenbank ausgeführt. Aber wenn wir „nur mal schnell“ einen INSERT in die Datenbank von Joomla 1.6 ausführen möchten. Dazu haben wir eine etwas „einfachere“ Möglichkeit.

1
2
3
4
5
// Wir erstellen uns einen Query
$sql = ‘INSERT INTO #__kontakt (vorname, nachname)
VALUES (“Testvorname”, “Testnachname”);
// Wir setzen den Query zur Ausführung
$db->setQuery($sql);

Wenn es um die Realisierung eines größeren Projektes geht, rate ich zu der Objektorientierten Methode eine Datenbankabfrage in Joomla 1.6 abzusetzen. Diese gibt einem einfach viel mehr Spielraum um den Query entsprechend zu bearbeiten.

Sehr wichtig ist hier ganz oft auch dass man sich die Fehlermeldungen ausgibt. Dies kann in Joomla 1.6 mit folgenden zwei Zeilen realisiert werden.

1
2
3
4
// Wir lassen uns die Fehler geben
$fehler = $db->getErrorMsg();
// Wir geben die Fehler aus
echo $fehler;

So haben wir die Möglichkeit zu sehen, ob die Ausführung unseres Query’s Probleme bereitet. Wenn es Fehler gibt, werden diese auch ausgegeben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.