當前位置: 首頁> 最新文章列表> PHP如何將JSON數據存儲到MySQL數據庫中

PHP如何將JSON數據存儲到MySQL數據庫中

M66 2025-07-10

PHP將JSON數據存儲到MySQL的應用場景

在Web開發過程中,我們常常需要將結構化數據以JSON格式保存,並寫入到數據庫中。 MySQL自5.7版本起原生支持JSON類型,這讓我們在使用PHP時能更高效地存儲和管理JSON格式數據。

創建用於存儲JSON的MySQL數據表

首先,需要建立一個包含JSON字段的數據表,以下是一個簡單的數據表結構:

CREATE TABLE `json_data_table` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `json_data` JSON NOT NULL,
  PRIMARY KEY (`id`)
);

這裡我們使用了MySQL的JSON數據類型,它可以自動校驗存儲數據的結構是否為合法的JSON格式。

使用PHP連接MySQL數據庫

通過PHP中的mysqli擴展,可以很方便地實現數據庫連接:

<?php
$host = "localhost";
$user = "root";
$password = "";
$database = "test";

$conn = new mysqli($host, $user, $password, $database);
if ($conn-> connect_error) {
    die("連接失敗:" . $conn->connect_error);
}
?>

PHP將JSON數據寫入MySQL

接下來,將PHP中的數組轉為JSON字符串後寫入數據庫:

<?php
$data = array(
    'name' => &#39;John&#39;,
    &#39;age&#39; => 25
);

$jsonData = json_encode($data);
$sql = "INSERT INTO json_data_table (json_data) VALUES (&#39;$jsonData&#39;)";

if ($conn->query($sql) === TRUE) {
    echo "JSON數據添加成功";
} else {
    echo "Error: " . $sql . "<br> " . $conn->error;
}

$conn->close();
?>

注意:直接將JSON數據拼接進SQL語句有SQL注入風險,推薦使用預處理語句進行插入。

從MySQL中讀取並解析JSON數據

如果你需要從數據庫中讀取之前存儲的JSON數據,並將其轉為PHP數組:

<?php
$sql = "SELECT json_data FROM json_data_table WHERE id = 1";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        $jsonData = $row[&#39;json_data&#39;];
        $data = json_decode($jsonData, true);

        echo "姓名:" . $data[&#39;name&#39;] . "<br> ";
        echo "年齡:" . $data[&#39;age&#39;] . "<br> ";
    }
} else {
    echo "沒有數據";
}

$conn->close();
?>

使用json_decode函數,並傳入第二個參數為true ,可以將JSON字符串解析為關聯數組,方便後續處理。

總結

本文介紹瞭如何使用PHP與MySQL協作,存儲和讀取JSON格式的數據。從表結構設計、數據庫連接,到JSON數據的插入和解析,展示了完整的實現流程。在實際項目中,結合JSON字段和MySQL的查詢功能,可以極大提升數據操作的靈活性和效率。