Dalam PHP, terdapat dua kaedah berbeza untuk mendapatkan semula hasil pertanyaan daripada pangkalan data MySQL: bind_result() dan get_result() . Memahami perbezaan antara kaedah ini boleh mengoptimumkan prestasi kod anda dan pengendalian hasil.
bind_result() menyenaraikan secara eksplisit lajur yang akan diikat dalam pertanyaan, menghasilkan pembolehubah individu untuk setiap lajur.
Contoh Penggunaan 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()) { //... } ?>
Kebaikan:
Keburukan:
get_result() secara automatik mengembalikan tatasusunan atau objek bersekutu atau terhitung yang mewakili baris yang diambil.
Contoh Penggunaan 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()) { //... } ?>
Kebaikan:
Keburukan:
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 |
Kedua-duanya bind_result() dan get_result() mempunyai kelebihan dan batasannya. Untuk versi PHP yang lebih lama atau apabila pembolehubah berasingan diutamakan, bind_result() mungkin sesuai. Walau bagaimanapun, apabila kesederhanaan pengendalian hasil dan keupayaan untuk mengambil berbilang baris sekaligus adalah penting, get_result() ialah pilihan yang disyorkan.
Atas ialah kandungan terperinci `bind_result()` lwn. `get_result()`: Strategi Pengikat Keputusan MySQL PHP Mana Yang Harus Anda Pilih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!