In der Datenbank befinden sich derzeit 477 Specials. Alle Specials anzeigen... |
Von PHP nach MySQL und zurück | |
Von PHP nach MySQL und zurück
Die Verbindung öffnet Ihr mit der Funktion mysql_connect(). Diese Funktion hat bis zu drei Parameter: Der Hostname der MySQL-Datenbank, der Username, unter dem der Zugriff erfolgen soll, und dessen Passwort. Der Username ist meist 'localhost', Username und Passwort hängen von den gesetzten Zugriffsrechten ab. Zurückgeliefert bekommt Ihr einen sogenannten link identifier. Den braucht Ihr später für die Funktion mysql_close(), die die Verbindung wieder schließt. // Oeffne Verbindung zur Datenbank $link = mysql_connect('localhost', 'username', 'geheimes_passwort'); // hier passiert gleich der Datenaustausch // Verbindung wieder schließen mysql_close($link); Über eine solche Verbindung könnt Ihr SQL-Statements an die Datenbank schicken. Dazu dient die Funktion mysql_query(), die einen String als SQL-Statement an die Datenbank schickt. Dabei sollte der Query-String kein(!) Semikolon am Ende haben // Oeffne Verbindung zur Datenbank $link = mysql_connect('localhost', 'username', 'geheimes_passwort'); // wechsle in die richtige Datenbank mysql_select_db("checklist"); // Formuliere ein SQL-Statement // in $autor steht der Name des gewünschten Autors $query = "SELECT Titel, Verlag FROM serien"; $query += " WHERE Autor='$autor' ORDER BY Titel"; $result = mysql_query($query); // Verbindung wieder schließen mysql_close($link); Die Antwort der Datenbank steht in der Variablen $result in Form eines sogenannten result set. Da dieses result set mehrere Datensätze mit jeweils mehreren Feldern enthalten kann, müssen wir es noch etwas auseinanderpuzzeln. Zuerst stellt sich die Frage, wieviele Datensätze die Datenbank geliefert hat. Das stellt die Funktion mysql_num_rows() fest echo "Von <b>$name</b> wurden "; echo mysql_num_rows($result) . " Titel gefunden!"; An die Datensätze und Felder selbst kommt Ihr mit der Funktion mysql_fetch_array() heran. Diese Funktion liefert je einen Datensatz aus dem übergebenen result set als assoziatives Array. Die Feldnamen dienen als Schlüssel. Der erste Aufruf der Funktion liefert den ersten Datensatz im result set, der zweite Aufruf den zweiten, etc. $num = mysql_num_rows($result); echo "Von <b>$name</b> wurden $num Titel gefunden!<br>"; while ($i < $num) { // hole einen Datensatz $row = mysql_fetch_array($result); // gebe aus echo "<b>" . $row['Titel'] . "</b> bei " . $row['Verlag'] . "<br>"; } Das erzeugt dann eine Ausgabe wie <b>Die Beispiel-Serie</b> bei ABComics<br> <b>Serie, die dritte</b> bei ABComics<br>
Ähnlich wie mysql_fetch_array arbeitet mysql_fetch_object().
Hier bekommt Ihr statt einem assoziativen Array ein Objekt, dessen Eigenschaften Ihr unter den Feldnamen
findet.
$query = "SELECT Titel FROM falscher_tabellenname ORDER BY Titel"; $result = mysql_query($query); echo mysql_error(); // gebe den letzten Fehler in der Datenbank aus |
Special vom: | 16.01.2003 |
Autor dieses Specials: | Henning Kockerbeck |
Die weiteren Unterseiten dieses Specials: | |
Die reine Lehre - HTML | |
Stilvoll - CSS | |
Kleiner Grundkurs Programmieren | |
Jetzt wird's dynamisch - JavaScript | |
Die andere Seite der Dynamik - PHP | |
Neue Gefilde - XML | |
Weiterführende Links | |
Zurück zur Hauptseite des Specials |