Während des Webentwicklungsprozesses müssen wir häufig strukturierte Daten im JSON -Format speichern und in die Datenbank schreiben. MySQL unterstützt JSON -Typen seit Version 5.7 nativ, sodass wir bei der Verwendung von PHP JSON -Formatdaten effizienter speichern und verwalten können.
Zunächst müssen Sie eine Datentabelle erstellen, die JSON -Felder enthält. Das Folgende ist eine einfache Datentabellenstruktur:
Erstellen Sie Tabelle `JSON_DATA_TABLE` ( `id` int (11) nicht null auto_increment, `JSON_DATA` JSON NOT NULL, Primärschlüssel (`id`) );
Hier verwenden wir den JSON -Datentyp von MySQL, der automatisch überprüfen kann, ob sich die gespeicherte Datenstruktur in einem legalen JSON -Format befindet.
Über die MySQLI -Erweiterung in PHP kann die Datenbankverbindung einfach implementiert werden:
<?php
$host = "localhost";
$user = "root";
$password = "";
$database = "test";
$conn = new mysqli($host, $user, $password, $database);
if ($conn-> Connect_error) {
Die ("Verbindung fehlgeschlagen:". $ conn-> connect_error);
}
?>
Konvertieren Sie das Array in PHP als nächstes in eine JSON -Zeichenfolge und schreiben Sie es in die Datenbank:
<?php
$data = array(
'name' => 'John',
'Alter' => 25
);
$ jSondata = json_encode ($ data);
$ sql = "In JSON_DATA_TABLE (JSON_DATA) VULICE ('$ JSONDATA') einfügen";
if ($ conn-> query ($ sql) === true) {
Echo "JSON -Daten wurden erfolgreich hinzugefügt";
} anders {
Echo "Fehler:". $ sql. "<br> ". $ conn-> Fehler;
}
$ conn-> close ();
?>
HINWEIS: JSON -Daten direkt in SQL -Anweisungen können SQL -Injektionsrisiken verursachen, und es wird empfohlen, Vorverarbeitungsanweisungen zur Einfügung zu verwenden.
Wenn Sie die zuvor gespeicherten JSON -Daten aus der Datenbank lesen und in ein PHP -Array umwandeln müssen:
<?php
$sql = "SELECT json_data FROM json_data_table WHERE id = 1";
$result = $conn->Abfrage ($ SQL);
if ($ result-> num_rows> 0) {
while ($ row = $ result-> fetch_assoc ()) {
$ jSondata = $ row ['json_data'];
$ data = json_decode ($ jSondata, true);
Echo "Name:". $ Data ['Name']. "<br> ";
Echo "Alter:". $ Data ['Alter']. "<br> ";
}
} anders {
echo "keine Daten";
}
$ conn-> close ();
?>
Verwenden Sie die Funktion JSON_DECODE und übergeben Sie den zweiten Parameter an True . Sie können die JSON -Zeichenfolge in ein assoziatives Array analysieren, um die nachfolgende Verarbeitung zu vereinfachen.
In diesem Artikel wird beschrieben, wie PHP mit MySQL zusammenarbeitet, um Daten im JSON -Format zu speichern und zu lesen. Von der Tabellenstrukturkonstruktion, der Datenbankverbindung bis hin zu JSON -Dateneinfügungen und Parsen wird ein vollständiger Implementierungsprozess nachgewiesen. In den tatsächlichen Projekten kann die Kombination von JSON -Feldern und MySQL -Abfragefunktionen die Flexibilität und Effizienz von Datenvorgängen erheblich verbessern.