result = $conn->query($sql)

Die Funktion result = $conn->query($sql); ist eine Methode, die in der objektorientierten Programmierung mit PHP häufig verwendet wird, um SQL-Abfragen auf einer Datenbank auszuführen. Hierbei wird ein SQL-Statement an die Datenbank gesendet, um Daten zu lesen, zu ändern, hinzuzufügen oder zu löschen. Schauen wir uns die Bestandteile und den Ablauf genauer an:

Bestandteile:

  1. $conn:
  • Dies ist ein Objekt, das die Verbindung zur Datenbank repräsentiert. Es wird typischerweise mit der mysqli oder PDO Klasse erstellt.
  • Beispiel: Bei mysqli könnte dies so aussehen: $conn = new mysqli($servername, $username, $password, $dbname);
  1. query:
  • Dies ist eine Methode des $conn Objekts, die verwendet wird, um ein SQL-Statement an die Datenbank zu senden und auszuführen.
  1. $sql:
  • Dies ist eine Variable, die das SQL-Statement als String enthält, das an die Datenbank gesendet werden soll.
  • Beispiel: $sql = "SELECT * FROM users";
  1. $result:
  • Dies ist eine Variable, die das Ergebnis der SQL-Abfrage speichert. Je nach Art der Abfrage kann dies verschiedene Formen annehmen:
    • Bei einer SELECT-Abfrage ist $result typischerweise ein Objekt vom Typ mysqli_result, das die zurückgegebenen Datenzeilen enthält.
    • Bei INSERT, UPDATE oder DELETE Abfragen enthält $result typischerweise einen booleschen Wert (true oder false), der angibt, ob die Abfrage erfolgreich war.

Ablauf:

  1. SQL-Statement erstellen:
  • Ein SQL-Statement wird als String in der Variable $sql definiert.
  • Beispiel: $sql = "SELECT * FROM users WHERE id = 1";
  1. Abfrage ausführen:
  • Die query Methode des Verbindungsobjekts $conn wird mit dem SQL-Statement $sql als Argument aufgerufen.
  • Beispiel: $result = $conn->query($sql);
  1. Ergebnis verarbeiten:
  • Das Ergebnis der Abfrage wird in der Variable $result gespeichert.
  • Bei einer erfolgreichen SELECT-Abfrage kann man nun die Daten aus $result auslesen, z.B. mittels fetch_assoc() oder fetch_array().
  • Beispiel:
    php if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>"; } } else { echo "0 results"; }

Beispiel:

Hier ein vollständiges Beispiel, das die obige Funktionalität in einem PHP-Skript darstellt:

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Verbindung zur Datenbank herstellen
$conn = new mysqli($servername, $username, $password, $dbname);

// Verbindung prüfen
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// SQL-Statement definieren
$sql = "SELECT id, name FROM users";
$result = $conn->query($sql);

// Ergebnisse verarbeiten
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
    }
} else {
    echo "0 results";
}

// Verbindung schließen
$conn->close();

In diesem Beispiel wird eine Verbindung zur Datenbank hergestellt, eine SELECT-Abfrage ausgeführt und die Ergebnisse verarbeitet und ausgegeben.