Pernyataan yang disediakan dalam MySQLi menyediakan dua kaedah utama untuk mendapatkan semula hasil pertanyaan: bind_result dan get_result. Artikel ini membandingkan tujuan, kelebihan dan had setiap kaedah.
Kaedah bind_result secara eksplisit mengikat pembolehubah pada lajur yang dikembalikan oleh pertanyaan. Ia memerlukan susunan pembolehubah untuk sepadan dengan struktur lajur dan biasanya digunakan apabila pertanyaan mengembalikan subset lajur tertentu.
Kebaikan:
Keburukan:
Kaedah get_result mengembalikan objek yang mengandungi keseluruhan set hasil pertanyaan. Ia memerlukan Pemacu Asli MySQL (mysqlnd) dan menawarkan fleksibiliti yang lebih besar.
Kebaikan:
Keburukan:
<?php $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()) { echo 'ID: ' . $id . '<br>'; echo 'First Name: ' . $first_name . '<br>'; echo 'Last Name: ' . $last_name . '<br>'; echo 'Username: ' . $username . '<br><br>'; } ?>
<?php $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()) { echo 'ID: ' . $row['id'] . '<br>'; echo 'First Name: ' . $row['first_name'] . '<br>'; echo 'Last Name: ' . $row['last_name'] . '<br>'; echo 'Username: ' . $row['username'] . '<br><br>'; } ?>
Pilihan antara bind_result dan get_result bergantung pada keperluan khusus aplikasi. bind_result menawarkan keserasian dengan versi PHP yang lebih lama dan membolehkan pengikatan pembolehubah yang tepat, manakala get_result memberikan fleksibiliti dan menghapuskan keperluan untuk pengikatan pembolehubah manual. Walau bagaimanapun, get_result memerlukan Pemacu Asli MySQL.
Atas ialah kandungan terperinci `bind_result` lwn. `get_result` dalam MySQLi: Kaedah Penyata Disediakan Mana Yang Perlu Anda Pilih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!