www.PHP-Kurs.com

PHP lernen für Einsteiger
und Fortgeschrittene

PHP-Tutorial mit Videos

Sie befinden sich: Startseite » MySQL Tutorial - Datenbank unter PHP » Datenbankanwendung Schritt für Schritt programmieren » Daten aus Datenbank auslesen

Daten aus Datenbank per PHP abfragen

Wir wollen die Datenbank nun auslesen. Dazu wird eine Abfrage (eng. „query“ = Abfrage, Anfrage, Ersuchen) an die Datenbank gesendet.

$erg = $db->query("SELECT * FROM kontakte");

Ich schreibe gerne die Datenbank-Befehle groß, damit diese sich von PHP und den Daten abheben.

Über diese Anweisung sagen wir:

  • SELECT auswählen
  • * alle Datenbankfelder
  • FROM aus der Tabelle mit dem folgenden Namen
  • kontakte uns gewählter Tabellenname.

Die Datenbank selber müssen wir hier nicht mehr angeben, da diese bereits im Vorfeld über die Anweisungen in der Datei „db.php“ bestimmt wurde.

Sollten wir nicht alle Datenbankfelder benötigen, können wir diese anstelle des Asterix * angeben

$erg = $db->query("SELECT id, vorname, nachname FROM kontakte");

Um herauszubekommen, ob die Abfrage erfolgreich war, kann das zurückgegebene Ergebnis mit print_r() ausgegeben werden.

<?php
require 'inc/db.php';
echo "<h1>Programm Adressbuch</h1>";
$erg = $db->query("SELECT id, vorname, nachname FROM kontakte");
print_r($erg);
?>

Als Rückgabe bekommen wir ein „Ergebnis-Objekt“.

Kontrollausgabe mysql_result Objekt
Kontrollausgabe mysql_result Objekt

Hier sehen wird die Anzahl der Felder (field_count) und die Anzahl der verfügbaren Datensätze (num_rows).

Wenn die Anzahl der Datensätze also mehr als Null ist, hat unsere Abfrage geklappt.

Dies können wir somit einfach abfragen über:

$erg = $db->query("SELECT id, vorname, nachname FROM kontakte");
print_r($erg);
if ($erg->num_rows) {
    echo "<p>Daten vorhanden: Anzahl ";
    echo $erg->num_rows;
}

Als Ergebnis des Auslesens der Datenbank sehen wir die Rückmeldung und die Anzahl der Datensätze:

Daten vorhanden: Anzahl 2

Ist ein Fehler in der SQL-Abfrage, dann erhalten wir keine Datensätze – sprich wir kommen nicht in die if-Schleife. Hier könnte sich ein else anbieten.

Grundsätzlich haben wir also über diese Variante keine Fehlermeldung durch die SQL-Anweisung, sondern einfach nur „es sind Daten da oder es sind KEINE Daten da“.

Wir können über folgenden Aufbau ermitteln, ob ein Fehler vorliegt.

$erg = $db->query("SELECT id, vorname, nachname FROM kontakteee")
    or die($db->error);

Jetzt kommt als Meldung „table ‚adressbuch.kotakteee’ doesnt exist“. Man sieht also in welcher Datenbank welche Tabelle nicht existiert.

Table 'adressbuch.kontakteee' doesn't exist

Andere Fehlermeldungen sind bei SQL-Fehlern und Fehlern bei Spaltennamen.

Natürlich wollen wir auch diese Fehlermeldungen nicht den späteren Nutzern präsentieren.

Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).

Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button:



(kann angegeben werden)

Nach Absenden kommt hier Feedback! Bitte nicht doppelt absenden. Danke.

Bitte unterstützen Sie dieses Projekt

Sie können dieses Projekt in verschiedenen Formen unterstützen - wir würden uns freuen und es würde uns für weitere Inhalte motivieren :).

unsere Videos bestellen

Unsere Videos und eBooks bestellen.

Spenden

Sie können uns eine Spende über PayPal zukommen lassen.

Weiterempfehlungen

Empfehlen Sie es weiter - wir freuen uns immer über Links und Facebook-Empfehlungen.

Bücher über Amazon

Bestellen Sie Bücher über folgende Links bei Amazon:

Fehler melden

Vielen Dank für Ihre Hilfe