Maison  >  Article  >  développement back-end  >  Comment stocker un tableau php dans la base de données

Comment stocker un tableau php dans la base de données

PHPz
PHPzoriginal
2023-04-18 09:05:45576parcourir

En PHP, un tableau est une structure de données très courante qui peut stocker plusieurs données associées ensemble sous la forme de paires clé-valeur pour faciliter l'exploitation et la gestion de ces données. Dans les projets réels, nous devons souvent stocker des tableaux dans la base de données, ce qui peut non seulement faciliter la sauvegarde et la gestion des données, mais également faciliter l'interrogation et l'analyse des données. Cet article explique comment stocker des tableaux dans une base de données en PHP.

  1. Créer une table de base de données

Tout d'abord, nous devons créer une table dans la base de données pour stocker les données du tableau. Supposons que les données du tableau que nous souhaitons stocker soient une liste d'étudiants, comprenant le numéro d'étudiant, le nom, l'âge, le sexe et d'autres informations, nous pouvons alors créer la structure de table suivante :

CREATE TABLE étudiant (student (
 id int(11) NOT NULL AUTO_INCREMENT,
 stu_id varchar(20) NOT NULL,
 name varchar(50) NOT NULL,
 age int(11) NOT NULL,
 gender varchar(10) NOT NULL,
 PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

上述表结构包含5个字段,其中id为自增主键,stu_id为学号,name为姓名,age为年龄,gender为性别。

  1. 将数组转换为JSON格式

在将数组存储到数据库中之前,我们需要先将其转换为JSON格式,方便存储和后续的读取操作。可以使用PHP内置的json_encode()函数将数组转换为JSON格式,示例代码如下:

$studentList = array(

array('stu_id' => '1001', 'name' => '张三', 'age' => 18, 'gender' => '男'),
array('stu_id' => '1002', 'name' => '李四', 'age' => 19, 'gender' => '女'),
array('stu_id' => '1003', 'name' => '王五', 'age' => 20, 'gender' => '男'),

);
$jsonStr = json_encode($studentList);

以上代码定义了一个名为$studentList的二维数组,包含3个学生的信息,然后使用json_encode()函数将其转换为JSON格式字符串。

  1. 将JSON数据存储到数据库中

现在我们已经获得了JSON格式的数据,可以将其存储到数据库中了。可以使用PHP内置的mysqli扩展操作数据库,将JSON字符串插入到student表中,示例代码如下:

$dbHost = 'localhost';  //数据库主机
$dbUser = 'root';  //数据库用户名
$dbPwd = '123456';  //数据库密码
$dbName = 'test';  //数据库名

//连接数据库
$conn = mysqli_connect($dbHost, $dbUser, $dbPwd, $dbName);
if (!$conn) {

die('数据库连接失败:' . mysqli_error());

}

//将JSON数据插入到数据库中
$sql = "INSERT INTO student (stu_id, name, age, gender) VALUES ('$jsonStr')";
if (mysqli_query($conn, $sql)) {

echo '数据插入成功!';

} else {

echo '数据插入失败:' . mysqli_error($conn);

}

以上代码使用mysqli_connect()函数连接到数据库,然后执行一条INSERT语句将JSON字符串插入到student表中。其中,'$jsonStr'是变量,表示存储在JSON格式中的学生数据。

  1. 从数据库中读取JSON数据并转换为数组

将JSON格式的数据存储到数据库中后,我们可以通过SELECT语句从数据库中读取该数据,并使用json_decode()函数将其转换为PHP数组,示例代码如下:

//从数据库中读取JSON数据
$sql = "SELECT * FROM student id int(11) NON NULL AUTO_INCREMENT,
stu_id varchar(20) NON NULL,

name varchar(50) NON NULL,

age int(11) NON NULL,
gender varchar(10) NON NULL,
CLÉ PRIMAIRE (id)

) ENGINE=InnoDB DEFAULT CHARSET =utf8;

La structure du tableau ci-dessus contient 5 champs, où id est la clé primaire à incrémentation automatique, stu_id est le numéro d'étudiant, name est le nom, age est l'âge et sex est le sexe.

    Convertir le tableau au format JSON

    Avant de stocker le tableau dans la base de données, nous devons d'abord le convertir au format JSON pour faciliter le stockage et les opérations de lecture ultérieures. Vous pouvez utiliser la fonction json_encode() intégrée de PHP pour convertir le tableau au format JSON. L'exemple de code est le suivant :

    🎜$studentList = array(🎜
    $row = mysqli_fetch_assoc($result);
    $jsonStr = $row['stu_data'];
    $studentArr = json_decode($jsonStr, true);
    🎜);🎜$jsonStr = json_encode($studentList);🎜🎜 Le code ci-dessus définit un nom. Il s'agit d'un tableau bidimensionnel de $studentList, contenant les informations de 3 étudiants, puis utilise la fonction json_encode() pour le convertir en chaîne au format JSON. 🎜
      🎜Stocker les données JSON dans la base de données🎜🎜🎜Maintenant que nous avons obtenu les données au format JSON, nous pouvons les stocker dans la base de données. Vous pouvez utiliser l'extension mysqli intégrée à PHP pour faire fonctionner la base de données et insérer des chaînes JSON dans la table des étudiants. L'exemple de code est le suivant : 🎜🎜$dbHost = 'localhost'; //Hôte de la base de données 🎜$dbUser = 'root'; //Nom d'utilisateur de la base de données 🎜$dbPwd = '123456'; //Mot de passe de la base de données 🎜$dbName = 'test'; //Nom de la base de données🎜🎜//Connectez-vous à la base de données 🎜$conn = mysqli_connect($dbHost, $dbUser, $ dbPwd, $dbName);🎜 if (!$conn) {🎜rrreee🎜}🎜🎜//Insérer des données JSON dans la base de données🎜$sql = "INSERT INTO student (stu_id code>, <code> nom, âge, genre) VALUES ('$jsonStr')";🎜if (mysqli_query($conn, $sql) ) {🎜rrreee🎜} else {🎜rrreee🎜}🎜🎜Le code ci-dessus utilise la fonction mysqli_connect() pour se connecter à la base de données, puis exécute une instruction INSERT pour insérer la chaîne JSON dans la table étudiant. Parmi eux, '$jsonStr' est une variable représentant les données des étudiants stockées au format JSON. 🎜
        🎜Lire les données JSON de la base de données et les convertir en tableau🎜🎜🎜Après avoir stocké les données au format JSON dans la base de données, nous pouvons lire les données de la base de données via l'instruction SELECT et utiliser The La fonction json_decode() le convertit en un tableau PHP. L'exemple de code est le suivant : 🎜🎜//Lire les données JSON de la base de données 🎜$sql = "SELECT * FROM student WHERE id=1"; 🎜$ result = mysqli_query($conn, $sql);🎜🎜//Convertir les données au format JSON en tableau PHP🎜$studentArr = array();🎜if (mysqli_num_rows($result)) {🎜rrreee🎜}🎜🎜Utilisez le code ci-dessus L'instruction SELECT lit les données de l'étudiant avec l'identifiant 1 de la table des étudiants, puis utilise la fonction mysqli_fetch_assoc() pour convertir le jeu de résultats en un tableau associatif et extrait la valeur du champ nommé 'stu_data' (données de l'étudiant au format JSON est stocké), et enfin convertissez-le en tableau PHP à l'aide de la fonction json_decode(). Parmi eux, définir le deuxième paramètre sur true signifie convertir l'objet JSON en un tableau PHP. 🎜🎜Résumé🎜🎜En PHP, le stockage de tableaux dans une base de données ne nécessite pas de plug-ins ou d'extensions supplémentaires. Convertissez simplement le tableau au format JSON et stockez-le dans le champ de la base de données. Parallèlement, lors de la lecture des données, il est également nécessaire de convertir la chaîne JSON en un tableau PHP pour faciliter les traitements et opérations ultérieurs. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn