PHP で MySQL クエリを操作する場合、開発者は次のことを行う必要があります。 2 つのメソッド (bind_result() と get_result()) を使用してデータを取得するオプション。どちらもデータを取得するという同じ目標を達成しますが、異なる特徴と利点があります。この記事は、これらのメソッドを例に基づいて比較し、長所と短所、制限事項、相違点を明らかにすることを目的としています。
開発者は、bind_result() メソッドを使用してバインドすることができます。変数を結果セットの列に追加します。これは、結果内の列の数と順序が事前にわかっている場合に便利です。
例:
$query1 = 'SELECT id, first_name, last_name, username FROM `table` WHERE id = ?'; $id = 5; $stmt = $mysqli->prepare($query1); $stmt->bind_param('i', $id); $stmt->execute(); $stmt->store_result(); $stmt->bind_result($id, $first_name, $last_name, $username); while ($stmt->fetch()) { // Process the data }
この例では、bind_result() メソッドはバインドします。変数 $id、$first_name、$last_name、および $username を結果セットのそれぞれの列に追加します。行がフェッチされると、これらの列の値がバインドされた変数に自動的に割り当てられます。
get_result() メソッドは、結果セット全体をオブジェクトとして取得し、開発者はデータを連想配列の配列として操作するか、 object.
例:
$query2 = 'SELECT * FROM `table` WHERE id = ?'; $id = 5; $stmt = $mysqli->prepare($query2); $stmt->bind_param('i', $id); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { // Process the data }
この例では、get_result() メソッドは結果セットを含むオブジェクトを返します。次に、 fetch_assoc() メソッドを使用して各行を連想配列として取得します。キーは列名を表します。
bind_result()
長所:
短所:
get_result()
長所:
短所:
bind_result() と get_result() には両方とも制限があります。
bind_result() を使用するか、または使用するかの選択get_result() はアプリケーションの特定の要件によって異なります。 bind_result() は、結果セット内の列の数と順序がわかっていて、データを別の変数に格納する必要がある場合に便利です。一方、get_result() は、動的な結果セットを扱う場合、またはデータを配列またはオブジェクトとしてアクセスする必要がある場合に便利です。
以上がMySQLi の「bind_result()」と「get_result()」: どちらのデータ取得方法を選択する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。