Heim >Backend-Entwicklung >PHP-Tutorial >Wie rufe ich effizient einen einzelnen Datensatz aus einer MySQLi-Datenbank ab?
Abrufen eines einzelnen Datensatzes aus einer Datenbank mit MySQLi
Das Abrufen einzelner Zeilen aus einer Datenbank mit MySQLi unterscheidet sich vom Durchlaufen einer Reihe von Datensätzen. Um dies zu erreichen, verwenden wir die von MySQLi bereitgestellten Abrufmethoden, sodass keine Schleifen erforderlich sind.
Abrufen einer einzelnen Zeile als assoziatives Array
Wenn wir das Ganze benötigen Zeile als assoziatives Array verwenden, können wir die folgende Syntax verwenden:
$row = $result->fetch_assoc();
Damit wird die erste Zeile der Ergebnismenge dem zugewiesen $row-Variable, die dann verwendet werden kann, um auf einzelne Spaltenwerte zuzugreifen.
Abrufen eines einzelnen Werts
In Fällen, in denen nur ein einzelner Wert erforderlich ist, können wir verwenden :
// PHP 8.1+ $value = $result->fetch_column(); // Older PHP versions $value = $result->fetch_row()[0] ?? false;
Die letztgenannte Syntax prüft auf Nullwerte und gibt bei Vorliegen „false“ zurück.
Beispiel Verwendung
Betrachten Sie die Beispielabfrage zum Abrufen der ersten Zeile der Tabelle „Benutzer“:
$sql = "SELECT * FROM users LIMIT 1"; $row = mysqli_query($conn, $sql)->fetch_assoc();
Jetzt können wir mit $row['column_name'] auf bestimmte Werte zugreifen. , wie zum Beispiel:
$name = $row['name']; $email = $row['email'];
Variablen verwenden in Abfragen
Bei der Verwendung von Variablen in SQL-Abfragen ist es wichtig, vorbereitete Anweisungen zu verwenden, um SQL-Injection zu verhindern. Um beispielsweise eine Zeile basierend auf einer bestimmten ID abzurufen:
// PHP 8.2+ $id = 123; $sql = "SELECT * FROM users WHERE id = ?"; $row = $conn->execute_query($sql, [$id])->fetch_assoc(); // Older PHP versions $id = 123; $stmt = $conn->prepare("SELECT * FROM users WHERE id = ?"); $stmt->bind_param("s", $id); $stmt->execute(); $row = $stmt->get_result()->fetch_assoc();
Das obige ist der detaillierte Inhalt vonWie rufe ich effizient einen einzelnen Datensatz aus einer MySQLi-Datenbank ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!