Bei der Entwicklung von PHP -Website -Anwendungen müssen wir häufig die von der Datenbank erhaltenen Daten bis zum Frontend dynamisch anzeigen, und hoffen, dass diese Daten nach dem Aktualisieren oder Verlassen der Seite anhaltend gespeichert werden können, um den Verlust zu verhindern. Die Kombination der MySQLI_Result -Funktion mit PHP -Sitzungsspeicher kann dieses Ziel sehr einfach erreichen. In diesem Artikel wird ausführlich vorgestellt, wie diese beiden für die dynamische Anzeige und Persistenz von Daten verwendet werden.
Mysqli_Result ist eine Klasse in PHP, die die Ergebnisse von MySQL -Abfragen übernimmt. Es wird normalerweise über die Funktion MySQLI_Query oder MySQLI_Store_Result erhalten und bietet eine Vielzahl von Möglichkeiten, um die Abfrageergebnisse zu durchqueren. Hier ist ein einfaches Beispiel:
<?php
// Verbindung zu MySQL Datenbank
$mysqli = new mysqli("localhost", "user", "password", "database");
// Überprüfen Sie, ob die Verbindung erfolgreich ist
if ($mysqli->connect_error) {
die("Verbindung ist fehlgeschlagen: " . $mysqli->connect_error);
}
// Eine Frage ausführen
$query = "SELECT id, name, email FROM users";
$result = $mysqli->query($query);
// verwenden mysqli_result Klassen zum Durchqueren von Abfragenergebnissen
if ($result->num_rows > 0) {
// Ausgabedaten für jede Zeile
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
}
} else {
echo "0 Ergebnis";
}
$mysqli->close();
?>
Im obigen Code enthält die $ -sergebnis -Variable die Ergebnisse der Datenbankabfrage. Wir verwenden die Fetch_assoc -Methode, um die Datenzeile nach Zeile zu extrahieren und sie anzuzeigen.
Die Sitzung ist eine von PHP bereitgestellte Methode zum Speichern von Benutzersitzungsinformationen. Wenn ein Benutzer eine Website besucht, weist PHP jedem Benutzer eine eindeutige Sitzungs -ID zu und speichert einige Daten über diese ID. Diese Daten können während der gesamten Sitzung des Benutzers unverändert bleiben, bis der Benutzer die Sitzung verletzt oder den Browser schließt.
Die Verwendung von Sitzungen ist sehr einfach. Wir müssen die Sitzung nur über Session_Start () starten und dann das $ _Session -Array verwenden, um die Daten zu speichern und zu erhalten.
<?php
// Starten Sie eine Sitzung
session_start();
// Daten speichern auf Session
$_SESSION['user_id'] = 1;
$_SESSION['user_name'] = "John Doe";
// Daten abrufen
echo $_SESSION['user_name']; // Ausgabe: John Doe
?>
Als nächstes kombinieren wir die Funktion und die Sitzungspeicher von MySQLI_Result , um eine Funktion zu implementieren: Erhalten Sie Benutzerdaten aus der Datenbank dynamisch und zeigen Sie diese an, während Sie die persistierende Speicherung von Benutzerdaten nach dem Aktualisieren der Seite oder der Benutzer hinterlassen.
Zunächst müssen wir die erforderlichen Daten aus der Datenbank abfragen und diese Daten in die Sitzung speichern. Hier gehen wir davon aus, dass wir die grundlegenden Informationen des Benutzers erhalten und in der Sitzung speichern möchten, damit er direkt im nachfolgenden Seitenzugriff verwendet werden kann.
<?php
// Starten Sie eine Sitzung
session_start();
// Verbindung zuDatenbank
$mysqli = new mysqli("localhost", "user", "password", "database");
// Überprüfen Sie, ob die Verbindung erfolgreich ist
if ($mysqli->connect_error) {
die("Verbindung ist fehlgeschlagen: " . $mysqli->connect_error);
}
// Eine Frage ausführen
$query = "SELECT id, name, email FROM users WHERE id = 1";
$result = $mysqli->query($query);
// 将查询Ergebnis存储到 Session
if ($result->num_rows > 0) {
$user_data = $result->fetch_assoc();
$_SESSION['user_data'] = $user_data;
} else {
echo "Keine Benutzerdaten gefunden";
}
$mysqli->close();
?>
Als nächstes müssen wir die in der Sitzung auf der Seite gespeicherten Daten dynamisch anzeigen. Unabhängig davon, wie oft der Benutzer die Seite aktualisiert, können die Daten im $ _Session -Array aufbewahrt werden, solange die Sitzung nicht abgelaufen ist oder gelöscht wird.
<?php
// Starten Sie eine Sitzung
session_start();
// Überprüfen Sie, ob Benutzerdaten gespeichert wurden
if (isset($_SESSION['user_data'])) {
$user_data = $_SESSION['user_data'];
echo "Benutzer ID: " . $user_data['id'] . "<br>";
echo "Benutzer名: " . $user_data['name'] . "<br>";
echo "E-Mail: " . $user_data['email'] . "<br>";
} else {
echo "Keine Benutzerdaten gefunden";
}
?>
Manchmal müssen wir die Daten in der Sitzung löschen, wenn sich der Benutzer anmeldet oder sich anmeldet. Sitzungsdaten können mit Session_unset () oder Session_destroy () gelöscht werden.
<?php
// Starten Sie eine Sitzung
session_start();
// Klar Session Daten
session_unset();
// zerstören Session
session_destroy();
echo "Sie haben erfolgreich ausgeloggt";
?>
Durch die Kombination der Funktion MySQLI_Result und PHP Session können wir die Daten in der Datenbank dynamisch anzeigen und die Daten Persistenz weiterhin beibehalten, nachdem der Benutzer die Seite aktualisiert hat. Die Sitzung bietet jedem Benutzer einen anhaltenden Speicherplatz, und MySQLi_Result ermöglicht es uns, Daten aus der Datenbank einfach zu erhalten und zu verarbeiten.
Diese Technologie ist sehr nützlich für Anwendungen, für die der Benutzeranmeldestatus, personalisierte Einstellungen oder die vorübergehend gespeicherten Benutzerdaten erforderlich ist. Durch die flexible Kombination dieser beiden können Sie die Benutzererfahrung verbessern und Daten effektiv verwalten.