Schwerwiegender Fehler: Aufruf der undefinierten Methode mysqli_stmt::fetch_array() [duplicate]“ behoben
In Ihrem Code sind Sie Versuch, mysqli_stmt::fetch_array() zu verwenden, wenn vorbereitete Anweisungen verwendet werden. Diese Funktion ist für vorbereitete Anweisungen nicht verfügbar.
Lösung:
Stattdessen sollten Sie mysqli_stmt::fetch() verwenden, um eine einzelne Datenzeile oder mysqli_result abzurufen ::fetch_all() zum Abrufen mehrerer Zeilen.
Überarbeiteter Code:
<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>
Durch Verwendung von mysqli_stmt::fetch_array() oder mysqli_result::fetch_assoc(), Sie können die Daten erfolgreich aus der Datenbank abrufen, ohne dass der Fehler auftritt.
Das obige ist der detaillierte Inhalt vonWarum tritt „Schwerwiegender Fehler: Aufruf der undefinierten Methode mysqli_stmt::fetch_array()' auf, wenn vorbereitete Anweisungen verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!