PHP では、MySQL データベースからクエリ結果を取得するための 2 つの異なるメソッド、bind_result() と get_result() があります。 。これらのメソッドの違いを理解すると、コードのパフォーマンスと結果の処理を最適化できます。
bind_result() は、クエリでバインドされる列を明示的にリストし、それぞれに個別の変数を生成します。
使用例bind_result():
<?php $query = 'SELECT id, first_name, last_name FROM `table` WHERE id = ?'; $id = 5; $stmt = $mysqli->prepare($query); $stmt->bind_param('i',$id); $stmt->execute(); $stmt->store_result(); $stmt->bind_result($id, $first_name, $last_name); while ($stmt->fetch()) { //... } ?>
長所:
短所:
get_result() は、取得された行を表す連想配列または列挙配列またはオブジェクトを自動的に返します。
使用例get_result():
<?php $query = 'SELECT * FROM `table` WHERE id = ?'; $id = 5; $stmt = $mysqli->prepare($query); $stmt->bind_param('i',$id); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { //... } ?>
長所:
短所:
Feature | bind_result() | get_result() |
---|---|---|
Result Handling | Separate variables | Associative/enumerated array or object |
MySQL Driver | Older versions supported | Requires mysqlnd |
Code Maintenance | Manual updates required | Automatic result filling |
Result Fetching | Individual rows | All rows at once |
bind_result() と get_result() にはそれぞれ利点と制限があります。古い PHP バージョンの場合、または別の変数が望ましい場合は、bind_result() が適切な場合があります。ただし、結果処理の単純さと一度に複数の行をフェッチする機能が重要な場合は、get_result() を選択することをお勧めします。
以上が「bind_result()」対「get_result()」: PHP MySQL の結果バインディング戦略はどちらを選択する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。