Benutzer-Werkzeuge

Webseiten-Werkzeuge


db:webdatenbanken

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
db:webdatenbanken [2016/11/22 20:06] – [Zugriff auf GET/POST] roehnerdb:webdatenbanken [2016/11/22 20:43] – [Zugriff auf eine MySQL-Datenbank] roehner
Zeile 177: Zeile 177:
  
 ==== Zugriff auf eine MySQL-Datenbank ==== ==== Zugriff auf eine MySQL-Datenbank ====
-PHP stellt seit Version 5.1 eine neue Schnittstelle zum Zugriff auf Datenbanken bereit, die [[http://de2.php.net/manual/de/intro.pdo.php |PHP Data Objects (PDO)]].+PHP stellt derzeit drei Schnittstellen zum Zugriff auf MySQL/MariaDB-Datenbanken bereit
 +  - mysql - eine veraltete prozedurale Schnittstellenicht mehr in PHP 7 vorhanden 
 +  - mysqli - eine objektorientierte Schnittstelle ab PHP 5.
 +  - PDO_MySQL - eine streng objektorientierte Schnittstelle ab PHP 5.1
  
-Der MySQL-Datenbankserver pflegt eine eigene Benutzer- und Rechteverwaltung. Wir müssen uns also zunächst verbinden und authentifizieren. Dazu erzeugen wir ein Objekt der PDO-Klasse, dessen Konstruktor wir einen sogenannten Data Source Name (DSN), den Benutzernamen und das Passwort als Parameter übergeben:+ 
 +Der MySQL-Datenbankserver pflegt eine eigene Benutzer- und Rechteverwaltung. Wir müssen uns also zunächst verbinden und authentifizieren. Dazu erzeugen wir ein Objekt der mysqli-Klasse, dessen Konstruktor wir den Datenbankserver, den Benutzernamendas Passwort und die Datenbank als Parameter übergeben:
 <code php> <code php>
- $db = new PDO("mysql:host=localhost;dbname=inflk2009"<Benutzername><Passwort>);+  $mysqli @new mysqli($Datenbankserver$Benutzer$Passwort, $Datenbank);
 </code> </code>
-Über das [[http://de2.php.net/manual/de/class.pdo.php |PDO-Objekt]] können wir jetzt mittels SQL Abfragen durchführen.+Über das $mysqli-Objekt können wir jetzt SQL Abfragen durchführen.
 <code php> <code php>
- $query = $db->query("SELECT * FROM gaestebuch"); + $result = $mysqli->query("SELECT * FROM gaestebuch"); 
- $result $query->fetchAll(); + 
-  + while ($entry mysql_fetch_assoc($result)) {
- foreach($result as $entry) {+
    echo "Eintrag von " . $entry["absendername"];    echo "Eintrag von " . $entry["absendername"];
  }  }
 + 
 </code> </code>
  
-Da der Schulserver aber PDO derzeit nicht unterstützt, muss die SQL-Verbindung über die MySQL-Funktionen von PHP aufgebaut werden: 
-<code php> 
- $db = mysql_connect("localhost", "<Benutzername>", "<Passwort>"); 
- mysql_select_db("<Datenbankname>", $db); 
-  
- $query = mysql_query("SELECT * FROM gaestebuch", $db); 
-  
- while($entry = mysql_fetch_object($query)) { 
-   echo "Eintrag von " . $entry->absendername; 
- } 
-</code> 
  
 ===== Aufgaben ===== ===== Aufgaben =====
db/webdatenbanken.txt · Zuletzt geändert: 2016/11/22 20:44 von roehner