Hauptmenü

Untermenü

OOP mit PHP5 - Einstiegstutorial 3 - Die MySQL-Klasse Teil 3

1. Die Abschnitte

2. doQuery

... soll, wie schon gesagt, für INSERT-, UPDATE-, DELETE- oder REPLACE-Anfragen genutzt werden. Was haben die nun gemeinsam? Genau, sie liefern als Rückgabewert nur, ob die Anfrage erfolgreich ausgeführt wurde oder nicht. Dabei wollen wir auch wissen, wie viele Datensätze von der Abfrage betroffen sind. Das mit dem LAST_INSERT_ID bzw. mysql_insert_id ignorieren wir einfach mal. Darum muss diese Methode auch nicht mehr können als das.


protected function doQuery ($query)
{
  if ($this -> result mysql_query ($query))
  {                
    $aff_rows mysql_affected_rows();
    if ($aff_rows)
    {
      return true;
    }
    else
    {
      return false;
    }
  }
  else
  {
    die (mysql_error());
  }            
}

Erläuterung

Ist ganz einfach, wenn die Abfrage erfolgreich durchgeführt wurde, wird true zurück gegeben, ansonsten eine entsprechende Fehlermeldung (die). Also nichts Weltbewegendes. Der Parameter $query repräsentiert nur die Abfrage, die an diese Methode übergeben wird. $aff_rows = mysql_affected_rows(); überprüft die Anzahl der betroffenden Datensätze Ist das Ergebnis eine 0, so soll false zurückgegeben werden.

3. doSelect

...ist für alle SELECT-Anfragen verantwortlich und soll uns das Ergebnis als mehrdimensionales, assoziatives Array zurückgeben. Der Aufbau sieht dementsprechend so aus.


protected function doSelect($query)
{
  if ($this -> result mysql_query ($query))
  {
    $output = array();
    while ($row mysql_fetch_assoc ($this -> result))
    {
      $output[] = $row;
    }
    if (count ($output) > 0)
    {
      return $output;
    }
    else
    {
      return false;
    }
  }
  else
  {
    die (mysql_error());
  }
}

Erklärung

Also wer das immer noch nicht versteht, sollte sich in die Ecke stellen und schämen! Wir holen uns das Ergebnis, schreiben es in ein stinknormales Array und geben das dann zurück, wenn es mindestens einen Wert enthält.

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