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

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

Susan Sarandon
Susan Sarandonオリジナル
2024-12-18 10:40:10957ブラウズ

How to Efficiently Encode MySQL Query Results as JSON in PHP?

Json エンコーディング MySQL 結果セット

クエリの実行と取得

MySQL データベースからデータを取得して保存するにはPHP 変数を使用できますmysqli_query():

$sth = mysqli_query($conn, "SELECT ...");

結果の JSON エンコーディング

クエリ結果を JSON 形式でエンコードするには、json_encode() 関数を使用できます。ただし、結果を反復処理して各行を個別にエンコードする必要があります。

$rows = array();
while($r = mysqli_fetch_assoc($sth)) {
    $rows[] = $r;
}
print json_encode($rows);

JSON エンコーディングの要件

json_encode() には PHP バージョン 5.2 またはそれ以上のパッケージと「php-json」パッケージ。インストールされていない場合、PHP はそれを自動的に含めようとします。

mysqli_fetch_all() を使用した代替アプローチ

最新の PHP バージョンでは、mysqli_fetch_all() 関数を使用して、すべてのクエリ結果を配列で取得します。 1 回:

$result = mysqli_query($conn, "SELECT ...");
$rows = mysqli_fetch_all($result); // list arrays with values only in rows
// or
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC); // assoc arrays in rows

print json_encode($rows);

JSON エンコーディングに mysqli_fetch_all() を使用する

mysqli_fetch_all() 関数は、行の配列を作成することで JSON エンコーディング プロセスを簡素化できます。結果変数を json_encode() に渡すだけで、データが自動的に JSON 形式に変換されます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。