修正「致命錯誤:呼叫未定義的方法mysqli_stmt::fetch_array() [重複]」
在您的程式碼中,您是使用準備好的語句時嘗試使用mysqli_stmt::fetch_array() 。此函數不適用於準備好的語句。
解決方案:
相反,您應該使用 mysqli_stmt::fetch() 來檢索單行數據,或 mysqli_result ::fetch_all() 檢索多行。
修改後的程式碼:
<code class="php">$search = "player"; $sql = $db->prepare('select job from jobs where job like ?'); $sql->bind_param('s', $search); $sql->execute(); $result = $sql->get_result(); // Get the result object $data = array(); while ($row = $result->fetch_assoc()) { $data[] = array( 'label' => $row['job'] ); echo json_encode($data); } $sql->close(); $db->close();</code>
透過使用mysqli_stmt::fetch_array() 或mysqli_result::fetch_assoc(),您可以成功從資料庫擷取資料而不會遇到錯誤。
以上是為什麼使用準備語句時會出現「致命錯誤:呼叫未定義的方法 mysqli_stmt::fetch_array()」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!