現在の位置: ホーム> 最新記事一覧> PHP および PDO のガイド: データベース内の JSON データを効率的に操作する

PHP および PDO のガイド: データベース内の JSON データを効率的に操作する

M66 2025-10-31

PHP と PDO はデータベース内の JSON データを操作します

現代の Web 開発では、大量のデータの処理と保存が非常に重要なタスクです。モバイル アプリケーションとクラウド コンピューティングの人気に伴い、JSON (JavaScript Object Notation) 形式でデータベースに保存されるデータがますます増えています。一般的なサーバーサイド言語として、PHP の PDO (PHP Data Object) 拡張機能は、データベース操作を処理する簡単な方法を提供します。この記事では、PHP と PDO を使用してデータベース内の JSON データを処理する方法を紹介します。

準備

まず、PDO 拡張機能と必要なデータベース ドライバー (MySQL や SQLite など) が PHP 環境にインストールされていることを確認する必要があります。その後、PDO を使用してデータベースに接続し、SQL ステートメントを実行してデータを操作できます。

JSONデータを挿入する

データベース内の JSON データを処理する場合、PDO の準備されたステートメントを使用して、JSON 値を渡したり読み取ることができます。次の例は、JSON データをデータベースに挿入する方法を示しています。

<?php
// データベースに接続していると仮定します,$pdo はい PDO 物体
$data = [
    'name' => 「ジョン・ドゥ」、
    「年齢」 => 30、
    &#39;電子メール&#39; => &#39;john@example.com&#39;
];
// PHP 配列を JSON 文字列に変換 $jsonData = json_encode($data);
// プリペアド ステートメントを使用して JSON データを挿入 $stmt = $pdo->prepare("INSERT INTO users (data) VALUES (:data)");
$stmt->bindParam(&#39;:data&#39;, $jsonData);
$stmt->execute();
?>

コードでは、ユーザー情報を含む PHP 配列が JSON 文字列に変換され、「users」という名前のデータベース テーブルに挿入されます。 PDO のプリペアド ステートメントを使用すると、SQL インジェクションを効果的に防ぐことができます。

JSON データのクエリとデコード

データベースから JSON データを読み取った後、さらに操作するために PHP で配列にデコードできます。

<?php
// データベースに接続していると仮定します,$pdo はい PDO 物体
// プリペアドステートメントを使用したクエリ JSON データ
$stmt = $pdo-> prepare("SELECT data FROM users WHERE id = :id");
$stmt->bindParam(&#39;:id&#39;, $userId);
$stmt->execute();
// JSON 文字列をデコードし、PHP 配列に変換 $result = $stmt->fetch();
$data = json_decode($result[&#39;data&#39;], true);
//ユーザー情報を出力します echo "Name: " . $data[&#39;name&#39;] 。 」<br> ";
echo "年齢: " 。 $data[&#39;年齢&#39;] 。 」<br> ";
echo "電子メール: " 。 $data[&#39;電子メール&#39;] 。 」<br> ";
?>

前処理ステートメントを使用して、指定されたユーザーの JSON データをクエリし、それを PHP 配列にデコードします。その後、配列キーを介してユーザー情報にアクセスできるようになります。

JSONデータを更新する

PDO は、JSON データの更新にも使用できます。サンプルコードは次のとおりです。

<?php
// データベースに接続していると仮定します,$pdo はい PDO 物体
// 新規ユーザー情報
$newData = [
    'name' => 「ジェーン・スミス」、
    「年齢」 => 35、
    &#39;電子メール&#39; => &#39;jane@example.com&#39;
];
//PHP 配列を JSON 文字列に変換 $jsonData = json_encode($newData);
//プリペアドステートメントを使用して JSON データを更新する $stmt = $pdo->prepare("UPDATE users SET data = :data WHERE id = :id");
$stmt->bindParam(&#39;:data&#39;, $jsonData);
$stmt->bindParam(&#39;:id&#39;, $userId);
$stmt->execute();
?>

新しい PHP 配列を JSON 文字列に変換し、準備されたステートメントにバインドするだけで、指定したユーザーの JSON データを安全に更新できます。

要約する

PHP と PDO を通じて、データベース内の JSON データを効率的かつ柔軟に処理できます。準備されたステートメントを使用すると、SQL インジェクションを防ぐだけでなく、挿入、クエリ、更新、その他の操作も容易になります。これらのスキルを習得すると、PHP 開発中の JSON データ処理能力が大幅に向上します。