問題:
PHP では、選択されたすべての MySQL 行を取得することが重要です包括的なデータ処理のために配列に変換します。ただし、一般的に使用される mysql_fetch_array 関数は、一度に 1 つのレコードのみを取得します。
解決策:
選択されたすべての行を配列にフェッチするには、ループ メカニズムを利用できます。 mysql_fetch_assoc 関数と組み合わせます:
<code class="php">$result = mysql_query("SELECT * FROM $tableName"); $json = array(); while($row = mysql_fetch_assoc($result)) { $json[] = $row; } echo json_encode($json);</code>
この while ループは結果セットを反復処理し、各行を連想配列に抽出して $json 配列に追加します。最後に、処理を容易にするために、$json 配列を JSON としてエンコードします。
MySQLi の代替:
パフォーマンスとセキュリティを強化するには、MySQLi または MySQL PDO の使用を検討してください。 MySQLi では、次のコードで同じ結果が得られます。
<code class="php">$query = "SELECT * FROM table"; $result = mysqli_query($db, $query); $json = mysqli_fetch_all ($result, MYSQLI_ASSOC); echo json_encode($json );</code>
mysqli_fetch_all 関数を利用することで、すべての行を連想配列に直接取得し、プロセスをさらに簡素化します。
以上がPHP ですべての MySQL 結果を配列にフェッチするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。