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.