ホームページ > データベース > mysql チュートリアル > MySQL クエリ結果を PHP で JSON として効率的にエンコードするにはどうすればよいですか?

MySQL クエリ結果を PHP で JSON として効率的にエンコードするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-23 19:23:14
オリジナル
479 人が閲覧しました

How Can I Efficiently Encode MySQL Query Results as JSON in PHP?

PHP を使用した MySQL 結果の JSON エンコード

PHP では、json_encode() 関数を使用して PHP データを JSON 形式に変換します。 JSON は広くサポートされているデータ形式であるため、これは Web アプリケーションまたは API にデータを送信するときに役立ちます。

しかし、MySQL クエリ結果で json_encode() を使用するにはどうすればよいでしょうか?結果の各行を反復する必要がありますか?それとも結果オブジェクト全体に適用できますか?

MySQLi で json_encode() を使用する

<?php
$mysqli = new mysqli("host", "username", "password", "database");

$result = $mysqli->query("SELECT * FROM table");

$rows = array();
while ($row = $result->fetch_assoc()) {
    $rows[] = $row;
}

$json_data = json_encode($rows);

echo $json_data;
?>
ログイン後にコピー

この例では、最初に接続しますmysqli クラスを使用して MySQL データベースに接続します。次に、データベースに対してクエリを実行し、結果のオブジェクト ($result) が $result 変数に保存されます。

fetch_assoc() メソッドを使用して、結果の行を連想配列 ($row) としてフェッチします。 。次に、各連想配列 ($row) を $rows 配列に追加します。

最後に、$rows 配列に対して json_encode() を使用して、JSON 形式に変換します。 json_data 文字列は、適切と思われる任意の方法で印刷または使用できます。

mysqli_fetch_all() の使用

PHP バージョン 5.3 以降では、上記のコードを次のように簡素化する mysqli_fetch_all() がサポートされています。

<?php
$mysqli = new mysqli("host", "username", "password", "database");

$result = $mysqli->query("SELECT * FROM table");

$rows = $result->fetch_all(MYSQLI_ASSOC); // get associative arrays

$json_data = json_encode($rows);

echo $json_data;
?>
ログイン後にコピー

付きmysqli_fetch_all() を使用すると、行を一度に取得できるため、ループが節約され、上記と同じ結果が得られます。

以上がMySQL クエリ結果を PHP で JSON として効率的にエンコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート