Startseite E-Mail versenden an info@wicoh.de Inhalt Diese Seite weiterempfehlen
Hinweis
Wer ist online
Besucher online: 2

Besucher
Heute: 86
Gestern:243
Gesamt: 180514
Sie sind hier: Startseite>Topics

Werbung


Topics / PHP / ID: 68


SQL-Datenbankverbindung und Abfragen mit PHP

1. Grundlagen

Da es verschiedene Möglichkeiten gibt, sollen zuerst die wesentlichen SQL-Grundlagen angesprochen werden. Daten werden in einer Tabelle abgelegt und diese Tabellen befinden sich in einer Datenbank. Jeder Datensatz in einer Tabelle bezeichnet eine Tabellenzeile. Ein Beispiel soll es ein wenig verdeutlichen.

Beispiel: Eine Mitgliederübersicht
Die Tabelle mitglieder:


ID Name Vorname e-mail Bemerkung
1 Mustermann Heinz mustermann@heinz.de Administrator
2 Willms Olaf info@wicoh.de Super-User
3 ... ... ... ...

Auf diese Tabelle kann mit den folgenden Abfragemöglichkeiten zugegriffen werden.
Es gibt im wesentlichen vier Abfragemöglichkeiten:

  • Auslesen: SELECT
  • Einfügen: INSERT
  • Überschreiben: UPDATE
  • Löschen: DELETE

2. Datenbank-Verbindung herstellen


Zuerst muss eine Verbindung mit Hilfe von PHP zum Datenbank-Server (d.h. dem Computer, auf dem die Datenbank liegt) hergestellt werden:
Um das Bearbeiten von PHP-Scripten zu erleichtern, werden zuerst Variablen definiert, auf die innerhalb der PHP - Dateien immer wieder zurückgegriffen werden kann. Für unser Beispielprojekt werden folgende Variablen definiert, auf die in diesem Tutorial immer wieder zurückgegriffen wird.


Variablen:

  1. // MySQL - Host, meist ist es localhost
  2. $meinhost = "localhost";
  3. // MySQL - Passwort
  4. $meinpasswort = "superuser";
  5. // MySQL - Benutzer
  6. $benutzername = "admin";
  7. // MySQL - Datenbankname
  8. $meineDatenbank = "test";
  9. // Variable für die Tabelle mitglieder
  10. $tabMitglieder = "mitglieder";

Mit diesen jetzt vordefinierten Variablen wird eine Verbindung zur Datenbank folgendermaßen hergestellt:

  1. $verbindung = @mysql_connect($meinhost,$benutzername,$meinpasswort);

Erklärung:

Um diese Datenverbindung nicht immer wieder erneut eingeben zu müssen, wurde auch diese connect-Anweisung an eine Variable übergeben ($verbindung).

Datenbank-Verbindung überprüfen

Ob es wirklich zu einer Verbindung mit der Datenbank gekommen ist, kann mit einer einfachen Abfrage überprüft werden.

  1. if(!$verbindung){
  2.    echo "Fehler: Es konnte keine Verbindung hergestellt werden !";
  3.    exit;
  4. }

Sollte nach dieser Abfrage keine Fehlermeldung erschienen sein, ist die Verbindung zur Datenbank hergestellt. Somit können jetzt die Daten aus der Tabelle abgefragt werden.

3. Auslesen der Daten aus einer Tabelle

Auch hier bedienen wir uns wieder einer Variablen, die eine SQL-Abfrage beinhaltet:

  1. $sqlabfrage1 = "SELECT Name,Vorname,e-mail FROM $tabMitglieder";

Diese Abfrage senden wir an den Server und das Ergebnis wird wiederum in einer Variablen ($ergebnis) aufgefangen:

  1. $ergebnis = mysql_db_query($meineDatenbank,$sqlabfrage1,$verbindung);

Jetzt sollen die in der Variablen $ergebnis zurückgelieferten Datensätze ausgelesen werden. Um dieses realisieren zu können, benötigen wir folgende Anweisung:

  1. list($Name,$Vorname,$e-mail) = mysql_fetch_row($ergebnis);

Die Variable $ergebnis enthält nach der Abfrage Zeilen mit jeweils 3 Spalten (Name , Vorname und e-mail).
mysql_fetch_row($ergebnis) gibt genau eine Zeile zurück. Zu Beginn steht eine Art Zeiger auf dem ersten Datensatz, führt man den Befehl mysql_fetch_row($erg) aus, rutscht der Zeiger zur nächsten Zeile usw. Sollen nun alle Zeilen ausgegeben werden, empfiehlt es sich eine Schleife zu benutzen:

echo"<table cellpadding="0" border="1" cellspacing="0">n"
   ."<tr>"
      ."<th>Name</th>"
      ."<th>Vorname</th>"
      ."<th>E-Mail</th>"
   ."</tr>";
 while (list($Name,$Vorname,$e-mail) = mysql_fetch_row($ergebnis)) {
    
echo "<tr><td>$Name</td><td>$Vorname</td><td>$e-mail</td></tr>n";
        }
echo "</table>";

Ergebnis:

Das Ergebnis der Datenbank Abfrage sollte dann ungefähr so aussehen:

Name Vorname E-Mail
Mustermann Heinz mustermann@heinz.de
Willms Olaf info@wicoh.de
... ... ...

Es empfiehlt sich nach der Abfrage die Verbindung zur Datenbank wieder zu beenden, dazu verwenden wir folgende Anweisung:

mysql_close($verbindung);

Mit diesen ersten Gehversuchen sollte es jetzt möglich sein, mit Hilfe von PHP eine Verbindung zur Datenbank herzustellen und die in den Tabellen gespeicherten Daten über Abfragen in einem Browser darzustellen.

Zur besseren Übersicht hier als Abschluss das PHP-Script im Ganzen:

  1. // MySQL - Host, meist ist es localhost
  2. $meinhost = "localhost";
  3. // MySQL - Passwort
  4. $meinpasswort = "superuser";
  5. // MySQL - Benutzer
  6. $benutzername = "admin";
  7. // MySQL - Datenbankname
  8. $meineDatenbank = "test";
  9. // Variable für die Tabelle mitglieder
  10. $tabMitglieder = "mitglieder";
  11. $verbindung = @mysql_connect($meinhost,$benutzername,$meinpasswort);
  12. if(!$verbindung){
  13.    echo "Fehler: Es konnte keine Verbindung hergestellt werden !";
  14.    exit;
  15. }
  16. $sqlabfrage1 = "SELECT Name,Vorname,e-mail FROM $tabMitglieder";
  17. $ergebnis = mysql_db_query($meineDatenbank,$sqlabfrage1,$verbindung);
  18. list($Name,$Vorname,$e-mail) = mysql_fetch_row($ergebnis);
  19. echo"<table cellpadding="0" border="1" cellspacing="0">"
  20.    ."<tr>"
  21.       ."<th>Name</th>"
  22.       ."<th>Vorname</th>"
  23.       ."<th>E-Mail</th>"
  24.    ."</tr>";
  25. while (list($Name,$Vorname,$e-mail) = mysql_fetch_row($ergebnis)) {
  26. echo "<tr><td>$Name</td><td>$Vorname</td><td>$e-mail</td></tr>";
  27. }
  28. echo "</table>";
  29. mysql_close($verbindung);
  30. ?>


eingestellt am: 16.10.2005  (2070 mal gelesen)

 Druckansicht | Übersicht PHP | zurück