Pendant le processus de développement Web, nous devons souvent enregistrer des données structurées au format JSON et l'écrire dans la base de données. MySQL prend en charge les types JSON nativement depuis la version 5.7, qui nous permet de stocker et de gérer les données de format JSON plus efficacement lors de l'utilisation de PHP.
Tout d'abord, vous devez créer un tableau de données contenant des champs JSON. Ce qui suit est une simple structure de table de données:
Créer une table `json_data_table` ( `id` int (11) pas null auto_increment, `JSON_DATA` JSON NON NULL, Clé primaire (`id`) ));
Ici, nous utilisons le type de données JSON de MySQL, qui peut vérifier automatiquement si la structure de données stockée est dans un format JSON légal.
Grâce à l'extension MySQLI en PHP, la connexion de la base de données peut être facilement implémentée:
<?php $host = "localhost"; $user = "root"; $password = ""; $database = "test"; $conn = new mysqli($host, $user, $password, $database); if ($conn-> connect_error) { Die ("La connexion a échoué:". $ con-> connect_error); } ?>
Ensuite, convertissez le tableau en PHP en une chaîne JSON et écrivez-le dans la base de données:
<?php $data = array( 'name' => 'John', 'Age' => 25 )); $ JSONDATA = JSON_ENCODODE ($ DATA); $ sql = "Insérer dans JSON_DATA_TABLE (JSON_DATA) ('$ jSondata')"; if ($ con-> query ($ sql) === true) { Echo "Les données JSON ont été ajoutées avec succès"; } autre { Echo "Erreur:". $ SQL. "<br> ". $ Conn-> Erreur; } $ Conn-> close (); ?>
Remarque: L'épissage directement des données JSON dans les instructions SQL peut entraîner des risques d'injection SQL, et il est recommandé d'utiliser des instructions de prétraitement pour l'insertion.
Si vous devez lire les données JSON précédemment stockées à partir de la base de données et la convertir en un tableau PHP:
<?php $sql = "SELECT json_data FROM json_data_table WHERE id = 1"; $result = $conn->requête ($ sql); if ($ result-> num_rows> 0) { while ($ row = $ result-> fetch_assoc ()) { $ jSondata = $ row ['json_data']; $ data = json_decode ($ jSondata, true); Echo "Nom:". $ data ['name']. "<br> " écho "Âge:". $ data ['Âge']. "<br> " } } autre { écho "pas de données"; } $ Conn-> close (); ?>
Utilisez la fonction JSON_DECODE et passez dans le deuxième paramètre pour true , vous pouvez analyser la chaîne JSON dans un tableau associatif pour un traitement ultérieur plus facile.
Cet article décrit comment utiliser PHP pour collaborer avec MySQL pour stocker et lire les données au format JSON. De la conception de la structure de table, de la connexion de la base de données, de l'insertion de données JSON et de l'analyse, un processus de mise en œuvre complet est démontré. Dans les projets réels, la combinaison des champs JSON et des fonctions de requête MySQL peut considérablement améliorer la flexibilité et l'efficacité des opérations de données.