mysqli_stmt::fetch_array() 呼叫失敗解釋
在PHP 程式設計中,錯誤「Fatal error: Call to unmtd method: fetch_array()」在使用MySQLi 準備好的語句進行資料庫操作期間發生。當嘗試在 mysqli_stmt 物件上使用 fetch_array() 方法時,會發生這種情況。
理解問題
此錯誤表示 fetch_array() 不是一個有效的方法mysqli_stmt 物件。 MySQLi 中的預處理語句有自己的一套取得資料的方法,即 fetch()。
解決方案:使用 mysqli_stmt::fetch()
從中檢索資料準備好的語句,應該使用 fetch() 方法而不是 fetch_array()。 fetch() 方法傳回目前行資料的數字索引數組。
替代方案:mysqli_result::fetch_all()
如果需要取得多行,可以使用 mysqli_result::fetch_all() 方法。此方法傳回表示結果集中所有行的關聯數組的陣列。
修訂的代碼
代碼的更正版本將是:
<code class="php">... $sql->execute(); $sql->bind_result($job); $data = array(); while ($sql->fetch()) { $data[] = array( 'label' => $job ); echo json_encode($data); }</code>
以上是為什麼 `mysqli_stmt::fetch_array()` 會導致「致命錯誤:呼叫未定義的方法 mysqli_stmt::fetch_array()」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!