使用PHP 在MySQL 中處理準備好的語句時,開發者有兩種檢索結果的選項:bind_result() 和get_result()。本文深入探討了每種方法的目的、實作以及優缺點。
bind_result() 允許您綁定特定變數到查詢結果中的欄位。這需要明確列出查詢中的列。
$query = "SELECT id, first_name, last_name, username 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, $username);
get_result() 傳回一個表示查詢結果的對象,該物件可用於以關聯或關聯方式取得行枚舉數組或物件。
$query = "SELECT * FROM `table` WHERE id = ?"; $id = 5; $stmt = $mysqli->prepare($query); $stmt->bind_param('i', $id); $stmt->execute(); $result = $stmt->get_result();
bind_result()
優點:
適用於過時的PHP版本
所有變數必須手動列出>需要更多程式碼才能傳回行作為數群組
表格結構時必須更新程式碼變更ge t_result()
返回關聯/枚舉數組或對象
fetch_all() 方法允許一次檢索所有返回的行限制
bind_result() 要求明確列出所有查詢傳回的資料列。 get_result () 僅適用於MySQL 本機驅動程式(mysqlnd).結論bind_result() 和get_result()之間的選擇取決於應用程式的具體需求。 bind_result() 可以更好地控制各個結果變量,而 get_result() 可以在處理結果行時提供便利和靈活性。以上是MySQLi 中的 `bind_result()` 與 `get_result()`:您應該選擇哪一種方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!