Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie JSON_Encode (), um MySQLi_Result in das JSON -Format umzuwandeln

Verwenden Sie JSON_Encode (), um MySQLi_Result in das JSON -Format umzuwandeln

M66 2025-05-28

In PHP müssen wir oft Daten aus der Datenbank abrufen und sie im JSON-Format zurückgeben, z. B. eine API-Schnittstelle für das Front-End. Zu diesem Zweck können Sie die MySQLI -Erweiterung verwenden, um die Abfrage auszuführen, und dann die Funktion json_encode (), um das Ergebnisarray in einen JSON -String zu codieren.

In diesem Artikel wird erläutert, wie dieser Prozess Schritt für Schritt implementiert wird.

1. Stellen Sie eine Datenbankverbindung her

Zunächst müssen Sie MySQLI verwenden, um eine Verbindung zur Datenbank zu erstellen:

 $servername = "localhost";
$username = "db_user";
$password = "db_password";
$database = "db_name";

$conn = new mysqli($servername, $username, $password, $database);

// Überprüfen Sie, ob die Verbindung erfolgreich ist
if ($conn->connect_error) {
    die("Verbindung ist fehlgeschlagen: " . $conn->connect_error);
}

2. Ausführen von Anfragen

Nehmen wir die Abfragen einer Tabelle mit dem Namen Benutzer als Beispiel, um alle Benutzerdaten zu erhalten:

 $sql = "SELECT id, username, email FROM users";
$result = $conn->query($sql);

Hier ist $ Ergebnis ein MySQLI_Result -Objekt, das die Abfrageergebnisse enthält.

3.. Umfragenergebnisse in Array konvertieren

Da json_encode () das Objekt mySQLi_Result nicht direkt codieren kann, müssen wir es zuerst in ein Array umwandeln:

 $data = array();

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $data[] = $row;
    }
}

Hier verwenden wir die Methode Fetch_assoc (), um jede Datenzeile als assoziatives Array zu entfernen und dem $ data -Array hinzuzufügen.

4. Verwenden Sie JSON_Encode (), um in JSON zu konvertieren

Nachdem wir das Array $ -Daten mit allen Abfrageergebnissen haben, können wir es mit JSON_Encode () in JSON -Format konvertieren:

 $jsonResult = json_encode($data);

// Ausgabe JSON Daten
header('Content-Type: application/json');
echo $jsonResult;

Hier setzen wir auch den Header vom Typ Inhalt auf Anwendung/JSON, um dem Client mitzuteilen, dass das JSON-Format zurückgegeben wird.

5. Vollständiger Beispielcode

Kombinieren Sie die obigen Schritte und der vollständige Code lautet wie folgt:

 <?php
$servername = "localhost";
$username = "db_user";
$password = "db_password";
$database = "db_name";

$conn = new mysqli($servername, $username, $password, $database);

if ($conn->connect_error) {
    die("Verbindung ist fehlgeschlagen: " . $conn->connect_error);
}

$sql = "SELECT id, username, email FROM users";
$result = $conn->query($sql);

$data = array();

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $data[] = $row;
    }
}

$conn->close();

header('Content-Type: application/json');
echo json_encode($data);
?>

Tipps

  • Stellen Sie sicher, dass die Datenbankverbindungsinformationen (z. B. Benutzername, Kennwort, Datenbankname) korrekt sind.

  • In den tatsächlichen Projekten wird für Sicherheit und Leistung empfohlen, vorbereitete Anweisungen anstelle von direktem Spleißen -SQL zu verwenden.

  • Wenn Sie die Schnittstelle testen möchten, können Sie beispielsweise mit einem Browser darauf zugreifen:
    https://m66.net/api/get_users.php

Auf diese Weise können Sie JSON-Benutzerdaten direkt im Browser- oder Front-End-Code erhalten.