Informatik :: PHP + MySQL :: PHP-Zugriffe auf Datenbank

PHP-Zugriffe auf Datenbank

[1. Verbindung zum MySQL-Server herstellen]
[2. Datenbank auf dem MySQL-Server auswählen]
[3. SQL-Befehlszeile an die Datenbank schicken]
[4. Antwort des MySQL-Servers auswerten]
[4.1 Fehlermeldung]
[4.2 Textmeldung]
[4.3 Abfrageergebnis einer SELECT-Anweisung darstellen]
[5. Verbindung zum MySQL-Server schließen]
[Aufgaben]
  [1]   [2]   [3]   [4]   [5]

1. Verbindung zum MySQL-Server herstellen:

Willst du auf einen MySQL-Server mit PHP zugreifen, benutzt du folgenden Befehl:

Allgemein

<?
$link=mysql_connect("$host:port","$username","$password");
?>

Beispieldatenbank

<?
$link=mysql_connect("lamp:3306","meinelt","123");
?>

War die Verbindung erfolgreich, gibt PHP einen sogenannten "link identifier" zurück,
der bei den folgenden Operationen mit der Datenbank zu übergeben ist.



Seitenanfang

2. Datenbank auf dem MySQL-Server auswählen:

Willst du nun auf eine konkrete Datenbank mit PHP zugreifen, benutzt du folgenden Befehl:

Allgemein

<?
mysql_select($datenbankname,$link);
?>

Beispieldatenbank

<?
mysql_select("wb",$link);
?>



Seitenanfang

3. SQL-Befehlszeile an die Datenbank schicken:

Allgemein

<?
$res=mysql_db_query($datenbankname,$sql_befehl);
?>

Beispieldatenbank

<?
$res=mysql_db_query("wb","select * from personal");
?>



Seitenanfang

4. Antwort des MySQL-Servers auswerten:

4.1 Fehlermeldung

Allgemein

<?
if (!$res=mysql_db_query($datenbankname,$sql_befehl)) {
  echo mysql_error($link);
}
?>

Beispieldatenbank

<?
if (!$res=mysql_db_query($wb,"insert teilnehmer values (8,110,'ja')");
  echo mysql_error($link);
}
?>

4.2 Textmeldung

Allgemein

<?
if ($res=mysql_db_query($datenbankname,$sql_befehl)) {
  echo "Textmeldung";
}
?>

Beispieldatenbank

<?
if ($res=mysql_db_query($wb,"delete from personal where personalnr=1002");
  echo "Der Datensatz wurde gelöscht!";
}
?>

4.3 Abfrageergebnis einer SELECT-Anweisung darstellen

Das Ergebnis jeder Abfrage ist eine Tabelle. In der ersten Zeile sollen die Feldnamen stehen in allen weiteren die Datensätze, die selektiert wurden.
Desweiteren empfiehlt sich aus Übersichtlichkeitsgründen, die Hintergrundfarbe der Zeilen alternierend zu ändern.
Die folgende Funktion tab_out($result) realisiert all diese Forderungen.

function tab_out($result)
{
  $anz=mysql_num_fields($result);   //Spaltenanzahl=Anzahl der Felder
  echo "<table border=0 cellpadding='2' cellspacing='2'>";
  echo "<tr bgcolor=#CFCFCF>";
  for ($i=0;$i<$anz;$i++)
  {
      echo "<th><font color=#0000FF>";
      echo mysql_field_name($result,$i);   //Feldnamen (Attributnamen) schreiben
      echo "</font>";
  }
  echo "</tr>";

  $num = mysql_num_rows($result);   //Zeilenanzahl=Anzahl der gefundenen Datensätze
  for ($j = 0; $j < $num; $j++)
  {
     if ($j%2==1){$farbe='#DFDFDF';}   //Hintergrundfarbe der ungeraden Zeilen
     else{$farbe='#EFEFEF';}   //Hintergrundfarbe der geraden Zeilen
     $row = mysql_fetch_array($result);   //Zeilen-Array=Attributwerte aller Datensätze
     echo "<tr bgcolor='$farbe'>";
     for ($k=0;$k<$anz;$k++)
     {
       $fn=mysql_field_name($result,$k);
       echo " <td><font size=2> $row[$fn] </font></td> " ;  //Datensatz schreiben
     }
     echo "</tr>";
  }
  echo "</table>";
}

Der Funktion tab_out($result) muss bei ihrem Aufruf ein Parameter übergeben werden.
Dieser Parameter ist der Rückgabewert der MySQL-Funktion mysql_db_query()

Beispieldatenbank

<?
$res=mysql_db_query($wb,"select Name Vorname from personal where Geschlecht='W'");
tab_out($res);
?>



Seitenanfang

5. Verbindung zum MySQL-Server schließen:

<?
mysql_close($link);
?>


Seitenanfang

Aufgaben

Für die folgenden Aufgaben benötigst du auf localhost eine Datenbank mit einer Tabelle.
Gehe dazu wie folgt vor:

  1. Starte "XAMPP"
  2. Öffne ein neues Browserfenster mit der URL http://localhost/phpmyadmin
  3. Gib als Namen der Datenbank test1 ein und bestätige mit Anlegen!

  4. Im neuen Fenster siehst du zur Bestätigung die ausgeführte SQL-Anweisung CREATE DATABASE 'test1';
    Gib nun als neuen Tabellennamen persdat mit 4 Feldern ein und bestätige mit OK!

  5. Gib nun die Feldnamen id mit dem Datentyp INT als Primärschlüssel, Name und Vorname mit dem Datentyp TEXT und Gebdat mit dem Datentyp DATE ein und bestätige mit Speichern!

  6. Zur Bestätigung siehst du erneut die Ausgeführte SQL-Anweisung und die Struktur der angelegten Tabelle persdat.
    Zum Eingeben von Daten betätige Einfügen!
  7. Gib auf diese Weise mindestens 3 beliebiege Datensätze ein!
    Betätige Anzeigen!
    Zum Abschluss sollte deine Tabelle test1.persdat ungefähr so aussehen:

  8. Erstelle für die folgenden Aufgaben im Ordner htdocs den Ordner mysql!

Aufgabe 1

Mittels PHP-Datei sollen alle Datensätze der Tabelle test1.persdat angezeigt werden.
Speichere dazu die Datei 01mysql.txt als PHP-Datei in deinen Ordner mysql.
Öffne diese Datei mit einem Editor und ergänze den Quellcode!


Aufgabe 2

Die Ausgabe der Daten soll verbessert werden.
Speichere dazu zunächst die PHP-Dateien verbind.php und funk.php in dein mysql-Verzeichnis!
Beide Dateien enthalten PHP-Anweisungen bzw. Funktionen, die sowohl für die richtige Verbindung zur Datenbasis bzw. für eine bessere Ausgabe der Daten in Tabellenform dienen. Um auf diese Dateien zuzugreifen, werden sie zu Beginn in die neue PHP Datei mittels include-Anweisung eingebunden.
Speichere nun die Datei 02mysql.txt als PHP-Datei in deinen Ordner mysql.
Öffne diese Datei mit einem Editor und ergänze den Quellcode!


Aufgabe 3

In die Tabelle persdat soll nun ein neuer Datensatz mit deinem Vor- und Zunamen aber noch ohne Geburtsdatum eingefügt werden.
Speichere dazu die Datei 03mysql.txt als PHP-Datei in deinen Ordner mysql.
Öffne diese Datei mit einem Editor und ergänze den Quellcode!


Aufgabe 4

Mit Absicht enthielt der neue Datensatz mit deinem Vor- und Zunamen noch nicht dein Geburtsdatum.
Dies soll jetzt geändert werden.
Speichere dazu die Datei 04mysql.txt als PHP-Datei in deinen Ordner mysql.
Öffne diese Datei mit einem Editor und ergänze den Quellcode!


Aufgabe 5

Zum Schluss soll der Datensatz mit deinem Vor- und Zunamen und deinem Geburtsdatum wieder gelöscht werden.
Speichere dazu die Datei 05mysql.txt als PHP-Datei in deinen Ordner mysql.
Öffne diese Datei mit einem Editor und ergänze den Quellcode!



Seitenanfang