Heim  >  Artikel  >  Backend-Entwicklung  >  So speichern Sie ein PHP-Array in einer Datenbank

So speichern Sie ein PHP-Array in einer Datenbank

PHPz
PHPzOriginal
2023-04-18 09:05:45528Durchsuche

Array ist in PHP eine sehr verbreitete Datenstruktur, die mehrere verwandte Daten zusammen in Form von Schlüssel-Wert-Paaren speichern kann, um die Bedienung und Verwaltung dieser Daten zu erleichtern. In tatsächlichen Projekten müssen wir häufig Arrays in der Datenbank speichern, was nicht nur die Datensicherung und -verwaltung, sondern auch die Datenabfrage und -analyse erleichtert. In diesem Artikel wird erklärt, wie man Arrays in einer Datenbank in PHP speichert.

  1. Datenbanktabelle erstellen

Zuerst müssen wir eine Tabelle in der Datenbank erstellen, um Array-Daten zu speichern. Angenommen, die Array-Daten, die wir speichern möchten, sind eine Liste von Schülern, einschließlich Schülernummer, Name, Alter, Geschlecht und anderen Informationen. Dann können wir die folgende Tabellenstruktur erstellen:

CREATE TABLE student (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) 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;

Die obige Tabellenstruktur enthält 5 Felder, wobei id der automatisch inkrementierende Primärschlüssel, stu_id die Studentennummer, name der Name, age das Alter und gender das Geschlecht ist.

    Konvertieren Sie das Array in das JSON-Format

    Bevor wir das Array in der Datenbank speichern, müssen wir es zunächst in das JSON-Format konvertieren, um die Speicherung und anschließende Lesevorgänge zu erleichtern. Sie können die integrierte json_encode()-Funktion von PHP verwenden, um das Array in das JSON-Format zu konvertieren. Der Beispielcode lautet wie folgt:

    🎜$studentList = array(🎜
    $row = mysqli_fetch_assoc($result);
    $jsonStr = $row['stu_data'];
    $studentArr = json_decode($jsonStr, true);
    🎜);🎜$jsonStr = json_encode($studentList);🎜🎜 Der obige Code definiert einen Namen. Es handelt sich um ein zweidimensionales Array von $studentList, das die Informationen von 3 Schülern enthält, und konvertiert es dann mithilfe der Funktion json_encode() in eine Zeichenfolge im JSON-Format. 🎜
      🎜JSON-Daten in der Datenbank speichern🎜🎜🎜Da wir nun die Daten im JSON-Format erhalten haben, können wir sie in der Datenbank speichern. Sie können die integrierte MySQLi-Erweiterung verwenden, um die Datenbank zu betreiben und JSON-Strings in die Schülertabelle einzufügen. Der Beispielcode lautet wie folgt: 🎜🎜$dbHost = 'localhost'; //Database host 🎜$dbUser = 'root'; //Datenbankbenutzername 🎜$dbPwd = '123456'; //Datenbankpasswort 🎜$dbName = 'test'; //Datenbankname🎜🎜//Mit der Datenbank verbinden 🎜$conn = mysqli_connect($dbHost, $dbUser, $ dbPwd, $dbName);🎜 if (!$conn) {🎜rrreee🎜}🎜🎜//JSON-Daten in die Datenbank einfügen🎜$sql = "INSERT INTO student (stu_id code>, <code> name, age, gender) VALUES ('$jsonStr')";🎜if (mysqli_query($conn, $sql) ) {🎜rrreee🎜} else {🎜rrreee🎜}🎜🎜Der obige Code verwendet die Funktion mysqli_connect(), um eine Verbindung zur Datenbank herzustellen, und führt dann eine INSERT-Anweisung aus, um die JSON-Zeichenfolge in die Schülertabelle einzufügen. Unter diesen ist „$jsonStr“ eine Variable, die im JSON-Format gespeicherte Schülerdaten darstellt. 🎜
        🎜JSON-Daten aus der Datenbank lesen und in ein Array konvertieren🎜🎜🎜Nachdem wir die Daten im JSON-Format in der Datenbank gespeichert haben, können wir die Daten über die SELECT-Anweisung aus der Datenbank lesen und The verwenden Die Funktion json_decode() konvertiert es in ein PHP-Array. Der Beispielcode lautet wie folgt: 🎜🎜//JSON-Daten aus der Datenbank lesen 🎜$sql = "SELECT * FROM student WHERE id=1"; 🎜$ result = mysqli_query($conn, $sql);🎜🎜//Daten im JSON-Format in ein PHP-Array konvertieren🎜$studentArr = array();🎜if (mysqli_num_rows($result)) {🎜rrreee🎜}🎜🎜Verwenden Sie die obiger Code Die SELECT-Anweisung liest die Schülerdaten mit der ID 1 aus der Schülertabelle, konvertiert dann mit der Funktion mysqli_fetch_assoc() die Ergebnismenge in ein assoziatives Array und entnimmt den Feldwert mit dem Namen „stu_data“ (Schülerdaten im JSON-Format). wird gespeichert) und schließlich mit der Funktion json_decode() in ein PHP-Array konvertieren. Unter anderem bedeutet das Setzen des zweiten Parameters auf true, dass das JSON-Objekt in ein PHP-Array konvertiert wird. 🎜🎜Zusammenfassung🎜🎜In PHP erfordert das Speichern von Arrays in einer Datenbank keine zusätzlichen Plug-Ins oder Erweiterungen. Konvertieren Sie das Array einfach in das JSON-Format und speichern Sie es im Datenbankfeld. Gleichzeitig ist es beim Lesen von Daten auch erforderlich, die JSON-Zeichenfolge in ein PHP-Array zu konvertieren, um die nachfolgende Verarbeitung und den Betrieb zu erleichtern. 🎜

Das obige ist der detaillierte Inhalt vonSo speichern Sie ein PHP-Array in einer Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn