Heim  >  Artikel  >  Datenbank  >  Warum verursacht „mysqli_stmt::fetch_array()“ einen „schwerwiegenden Fehler: Aufruf der undefinierten Methode mysqli_stmt::fetch_array()“?

Warum verursacht „mysqli_stmt::fetch_array()“ einen „schwerwiegenden Fehler: Aufruf der undefinierten Methode mysqli_stmt::fetch_array()“?

Barbara Streisand
Barbara StreisandOriginal
2024-11-01 20:29:29983Durchsuche

Why is `mysqli_stmt::fetch_array()` causing a

mysqli_stmt::fetch_array() Aufruffehler erklärt

Bei der PHP-Programmierung tritt der Fehler „Schwerwiegender Fehler: Aufruf der undefinierten Methode mysqli_stmt::“ auf. fetch_array()“ tritt bei Datenbankoperationen mit vorbereiteten MySQLi-Anweisungen auf. Dies tritt auf, wenn versucht wird, die Methode fetch_array() für ein mysqli_stmt-Objekt zu verwenden.

Das Problem verstehen

Der Fehler weist darauf hin, dass fetch_array() keine gültige Methode für ist mysqli_stmt-Objekte. Vorbereitete Anweisungen in MySQLi verfügen über einen eigenen Satz von Methoden zum Abrufen von Daten, nämlich fetch().

Lösung: Verwendung von mysqli_stmt::fetch()

Zum Abrufen von Daten von Bei einer vorbereiteten Anweisung sollte die Methode fetch() anstelle von fetch_array() verwendet werden. Die fetch()-Methode gibt ein numerisch indiziertes Array der Daten der aktuellen Zeile zurück.

Alternative: mysqli_result::fetch_all()

Wenn mehrere Zeilen abgerufen werden müssen, Die Methode mysqli_result::fetch_all() kann verwendet werden. Diese Methode gibt ein Array assoziativer Arrays zurück, die alle Zeilen im Ergebnissatz darstellen.

Überarbeiteter Code

Die korrigierte Version Ihres Codes wäre:

<code class="php">...
$sql->execute();
$sql->bind_result($job);

$data = array();

while ($sql->fetch()) {
    $data[] = array(
            'label' => $job  
    );
    echo json_encode($data);
}</code>

Das obige ist der detaillierte Inhalt vonWarum verursacht „mysqli_stmt::fetch_array()“ einen „schwerwiegenden Fehler: Aufruf der undefinierten Methode mysqli_stmt::fetch_array()“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn