PHP Codeschnipsel

Hier werden PHP Snippets zur praktischen Anwendung bereit gestellt.

mysqli Query

Dieses Beispiel einer Datenbankabfrage (Query) zeigt Schritt für Schritt, wie sich mit der PHP Funktion mysqli, Daten aus einer MySQL Tabelle abbilden lassen. Die einzelnen PHP Funktionen, die dafür nötig sind, werden dabei in objektorientierter Form (OOP) verwendet.

<?php

// Zugangsdaten für die Datenbank
$db_host = 'datenbank-host';
$db_user = 'datenbank-user';
$db_name = 'datenbank-name';
$db_pass = 'datenbank-passwort';

// Neue Datenbankverbindung herstellen
$db = new mysqli($db_host, $db_user, $db_pass, $db_name);

// Zeichenkodierung der SQL Verbindung bestimmen (optional)
$db->set_charset('utf8');

// Eine SQL SELECT Abfrage formulieren.
// In diesem Beispiel aus der Datenbank einer TYPO3 Installation
$sql = <<<SQL
  SELECT uid, header
  FROM tt_content
  WHERE 1 AND deleted = 0 AND hidden = 0 AND header LIKE '%TYPO3%'
  ORDER BY uid DESC
  LIMIT 10;
SQL;

// Meldung falls die SQL Abfrage fehlerhaft ist
if(!$result = $db->query($sql)) {

  die('Fehler beim Ausführen der Datenbankabfrage:<br>' . $db->error);

} else { // Wenn die SQL Abfrage ohne Fehler ist

  // Ergebnisse als while-Schleife ausgeben
  while($row = $result->fetch_assoc()) {
    echo '<div class="zeile">' . $row['uid'] . ': ';
    echo $row['header'] . '</div>';
  }

  // Gesamte Anzahl an Datensätzen
  echo '<div class="gesamt"><p>Alle Ergebnisse: ' . $result->num_rows . '</p></div>';

  // Anzahl Datensätze, die von einem SQL UPDATE oder DELETE betroffen wären
  echo '<div class="aktualisiert"><p>Aktualisierte Ergebnisse: ' . $db->affected_rows . '</p></div>';
}

// Die Datenbankverbindung schließen, wenn alles erledigt ist.
$db->close();

?>

Das PHP MySQLi Snippet beinhaltet bereits ein paar grundlegende if else Kontrollstrukturen, sollte aber für den produktiven Einsatz unbedingt erweitert werden. Safty first ;-)