WEBDESIGN Datenbankzugriff mit PHP PHP PHP und MySQL sind mittlerweile zu einem Duo bei der Entwicklung datenbankbasierter, dynamischer Webseiten. PHP und MySQL stehen frei zur Verfügung. Das Schema bzw. der Ablauf eines Datenbankzugriffes sieht folgendermaßen aus: Aktion Funktion 1. Vebindung zum Server $link = mysql_connect("Server","User","Kennwort") 2. Datenbank auswählen $db = mysql_select_db("Datenbank", $link) 3. SQL-Query abschicken $query = mysql_query("SELECT * FROM ...",$link) 4. Daten verarbeiten $num = mysql_numrows($query); for ($i = 0; $i < $num; $i++) { $row = mysql_fetch_array($query); echo "$row[feld1] <br> $row[feld2]"; } 5. Verbindung beenden Ein explizites Schließen der Verbindung ist nicht notwendig. Verbindung mit dem Datenbankserver Die Funktion mysql_connect(), mit der die Verbindung mit einem MySQL-Datenbankserver hergestellt wird, benötigt drei Parameter: Servername:Port für den lokalen DB-Server: localhost oder 127.0.0.1 für einen remote DB-Server: IP-Adresse oder Rechnername bei der Verwendung des Standardports (3306) kann dieser entfallen Username MySQL-Username Passwort zum Usernamen passendes Paßwort, kann auch "" lauten Schlägt die Serververbindung fehl, so wird die Variable $link() mit dem Wert NULL belegt. Mit der Funktion isnull() kann der Rückgabewert $link dahingehend überprüft werden, ob die Verbindung zum MySQL-Server erfolgreich aufgebaut wurde. Neben den eigentlichen MySQL-Funktionen werden in den nachfolgenden Beispielen folgende Funktionen verwendet: mysqlerror() liefert den Fehlertext der zuvor ausgeführten MySQL Operation mysqlerrno() liefert die Nummer einer Fehlermeldung einer zuvor ausgeführten MySQL Operation die("xy") zeigt "xy" an und bricht daraufhin die Verarbeitung ab CREATE TABLE (Tabelle erstellen) <?php $link = mysql_connect("localhost","root","root") or die("Fehler!".mysql_error()); $db = mysql_select_db("test",$link) or die("Fehler!<br>".mysql_error()); $sql = "CREATE TABLE tblAdressen "; $sql = $sql."(id INT not null auto_increment primary key, "; $sql = $sql."zuname VARCHAR(30), vorname VARCHAR(30), gebdat DATE)"; $result = mysql_query($sql,$link) or die("Fehler!<br>".mysql_error()); echo("Tabelle wurde erstellt!"); ?> BHAK/BHAS Amstetten Helmut Wurzer © WEBDESIGN PHP Datenbankzugriff mit PHP SELECT (Datensätze abfragen) <?php /* Verbindung aufbauen, auswählen einer Datenbank */ $link = mysql_connect("localhost","user","pwd") or die("Fehler!".mysql_error()); /* Datenbank auswählen */ $db = mysql_select_db("datenbank",$link) or die("Fehler<br>!".mysql_error()); /* SQL Anweisung ausführen */ $sql = "SELECT * FROM tblAdressen"; $result = mysql_query($sql, $link) or die("Fehler!<br>".mysql_error()); /* Anzahl der Datensätze ermittlen */ $num = mysql_num_rows($result); /* Ergebnis der SQL-Anweisung (Datensätze) anzeigen */ for ($i=0; $i<$num; $i++) { $row = mysql_fetch_array($result); echo $row["id"]." ".$row["zuname"]." ".$row["vorname"]."<br>"; }; /* Verbindung schliessen (nicht unbedingt notwendig) */ mysql_close($link); ?> INSERT (Datensatz einfügen) <?php $link = mysql_connect("localhost","user","pwd") or die("Fehler!".mysql_error()); $db = mysql_select_db("datenbank",$link) or die("Fehler<br>!".mysql_error()); $sql = "INSERT INTO tblAdressen (zuname,vorname,gebdat) VALUES"; $sql = $sql."('Wurzer','Helmut','2005-10-25')"; $result = mysql_query($sql, $link) or die("Fehler!<br>".mysql_error()); echo("Datensatz wurde hinzugefügt!"); ?> UPDATE (Datensatz ändern) <?php $link = mysql_connect("localhost","user","pwd") or die("Fehler!".mysql_error()); $db = mysql_select_db("datenbank",$link) or die("Fehler<br>!".mysql_error()); $sql = "UPDATE tblAdressen set gebdat='2004-10-25' WHERE id = 4"; $result = mysql_query($sql, $link) or die("Fehler!<br>".mysql_error()); echo("Datensatz wurde geändert!"); ?> DELETE (Datensatz löschen) <?php $link = mysql_connect("localhost","user","pwd") or die("Fehler!".mysql_error()); $db = mysql_select_db("datenbank",$link) or die("Fehler<br>!".mysql_error()); $sql = "DELETE from tblAdressen WHERE id = 4"; $result = mysql_query($sql, $link) or die("Fehler!<br>".mysql_error()); echo("Datensatz wurde gelöscht!"); ?> BHAK/BHAS Amstetten Helmut Wurzer © WEBDESIGN PHP Datenbankzugriff mit PHP CREATE DATABASE (Datenbank erstellen) <?php $link = mysql_connect("localhost","user","pwd") or die("Fehler!".mysql_error()); $sql = "CREATE DATABASE dbNeu"; $result = mysql_query($sql, $link) or die("Fehler!<br>".mysql_error()); echo("Datenbank wurde erstellt!"); ?> BHAK/BHAS Amstetten Helmut Wurzer ©