Eine einfache Abfrage ist gar nicht so kompliziert. Hier ist erstmal die allgemeine Form:
<?php $query ="SELECT column_name FROM table_name"; $result= mysql_query($query); while($row = mysql_fetch_object($result)) { echo "$row->column_name"; } ?>
Ein Beispiel mit einem Telefonbuch würde demnach dann so aussehen:
<?php $query ="SELECT name FROM phonebook"; $result= mysql_query($query); while($row = mysql_fetch_object($result)) { echo "$row->number"; } ?>
Zuerst wird die Anfrage gesendet. Dies geht wieder per mysql_query().
Danach folgt eine while-Schleife, die ausdrückt: „Führe diese Anweisung solange aus, bis in das Array $row keine Werte mehr geschrieben werden.“
Dazu benutzen wir den Befehl mysql_fetch_object()
Um nun einzelne Spalten anzusprechen muss man als Anweisung
echo „$row->column_name“;
benutzen, wobei man natürlich die Werte nicht nur ausgeben muss, sondern sie auch z.B. überprüfen lassen kann.
Diese Ausgabe funktioniert aber nur innerhalb der while-Schleife, außerhalb nicht.
Innerhalb der while-Schleife könnt ihr ganz normale PHP-Befehle benutzen und sogar weitere Tabellen abfragen.
Natürlich möchte man nicht nur eine Spalte einer Tabelle ausgeben, um daher mehrere auszugeben muss man die Abfrage etwas anpassen:
<?php $query ="SELECT id, name, number FROM phonebook"; $result= mysql_query($query); while($row = mysql_fetch_object($result)) { echo "$row->id, $row->name, $row->number"; } ?>
Dabei werden alle Spaltennamen (column_name’s) mit einem Komma voneinander getrennt.
Möchte man alle Spalten abfragen, kann man auch anstatt die Spaltennamen zu schreiben, ein * benutzen.
<?php $query ="SELECT * FROM phonebook"; $result= mysql_query($query); while($row = mysql_fetch_object($result)) { echo "$row->id, $row->name, $row->number"; } ?>
Man kann zwar das Sternchen (*) benutzen, allerdings ist die Ausgabe dann etwas langsamer, denn MySQL muss alle Spalten abfragen und zwischenspeichern, obwohl eventuell nur zwei oder drei Spalten benötigt werden.
Perönlich würde ich, dennoch zu einem ORM (Object-Relational Mapping) raten, wie z.B. Idiorm für PHP.