Hauptmenü

Untermenü

OOP mit PHP5 - Praxistutorial 1 - Zusätzliche SQL-Methoden

1. Die Abschnitte

2. Möglichkeiten

Weil die folgenden Dinge relativ lumpig sind, werde ich das Prinzip unserer Db-Klasse nur an einem(!) Beispiel erläutern. In der Lösung gibt es noch ein paar zusätzliche Methoden, auf die ich aber nicht eingehen werde, da der Code wohl selbst erläuternd ist. Wer es nicht versteht, sollte sich Schritt für Schritt durch die fertige Klasse wühlen.

Ein Hinweis

Bei dem folgenden Codebeispiel gibt es keine komplette Ausnahmebehandlung. Wenn ihr das Tutorial durchgearbeitet und verstanden habt, so ist es an euch, das nachzuholen. Das gilt natürlich auch für die Methoden, die ich hier nicht erwähne. Ist übrigens eine wunderbare Testaufgabe.

3. Daten einfügen

Mit dieser Methode sollen später Datensätze per INSERT oder UPDATE eingefügt werden. Wer das noch für REPLACE haben möchte, macht das mal schön selber.


public function insertData () 
{
  if ($this -> resource) 
  {             
    if (mysql_insert_id()) 
    {
      return (int) mysql_insert_id();
    }
    else if(mysql_affected_rows()) 
    {           
      return (int) mysql_affected_rows();
    }
    return mysql_info();
  }           
}

Erläuterung

Was jetzt kommt ist gaaaanz wichtig! Also der Query wird zuerst in startQuery ausgeführt. Wenn syntaktisch alles in Ordnung ist, so wertet diese Methode nur das Ergebnis aus. Der Verweis auf die Ausführung der Abfrage steckt in der Eigenschaft $this -> resource, die einen Verweis darauf darstellt.

Die Rückgabewerte

Wenn man einen neuen(!) Datensatz einfügt, so wird die ID des besagten Eintrags zurückgeliefert. Das fangen wir mit if (mysql_insert_id()) ab und geben den Wert zurück. Wenn dagegen mehrere Datensätze aktualisiert werden sollen, so liefert mysql_affected_rows() uns die Anzahl der betroffenen Einträge zurück. Wenn bei einer "Aktualisier"-Aktion dagegen gar nichts passiert, so kann man das Ergebnis nur über mysql_info() abfangen.

4. Wer? Wie? Was? Wo?

Manche von euch werden jetzt sicher Bauklötze staunen. Oder sich fragen, ob der Autor dieses Machwerkes ein totaler Vollhonk ist. Nee, ist er nicht! Jedenfalls nicht immer. Wer hier Verständnisprobleme haben sollte, der möge sich in Geduld üben, denn die Aufklärung folgt auf dem Fuße.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt