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:
- $conn:
- Dies ist ein Objekt, das die Verbindung zur Datenbank repräsentiert. Es wird typischerweise mit der
mysqli
oderPDO
Klasse erstellt. - Beispiel: Bei
mysqli
könnte dies so aussehen:$conn = new mysqli($servername, $username, $password, $dbname);
- query:
- Dies ist eine Methode des
$conn
Objekts, die verwendet wird, um ein SQL-Statement an die Datenbank zu senden und auszuführen.
- $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";
- $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 Typmysqli_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.
- Bei einer SELECT-Abfrage ist
Ablauf:
- SQL-Statement erstellen:
- Ein SQL-Statement wird als String in der Variable
$sql
definiert. - Beispiel:
$sql = "SELECT * FROM users WHERE id = 1";
- Abfrage ausführen:
- Die
query
Methode des Verbindungsobjekts$conn
wird mit dem SQL-Statement$sql
als Argument aufgerufen. - Beispiel:
$result = $conn->query($sql);
- 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. mittelsfetch_assoc()
oderfetch_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.