OOP mit PHP5 - Einstiegstutorial 3 - Die MySQL-Klasse Teil 3
1. Die Abschnitte
- Einführung
- Die MySQL-Klasse Teil 1
- Die MySQL-Klasse Teil 2
- Die MySQL-Klasse Teil 3
- Die Abstract-Klasse Teil 1
- Die Abstract-Klasse Teil 2
- Nutzung der Klassen
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