Heim >Backend-Entwicklung >PHP-Tutorial >Warum erhalte ich die Fehlermeldung „Aufruf der undefinierten Methode mysqli_stmt::get_result()'?

Warum erhalte ich die Fehlermeldung „Aufruf der undefinierten Methode mysqli_stmt::get_result()'?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-26 10:42:15651Durchsuche

Why am I getting a

Undefiniertes Problem beim Aufruf der Methode „mysqli_stmt::get_result()“

Beim Versuch, die Methode „get_result()“ von „mysqli_stmt“ zu verwenden Beim Abrufen von Abfrageergebnissen im Objekt wird „Undefinierte Methode aufrufen“ angezeigt. Fehler „mysqli_stmt::get_result()“.

Ursache des Problems:

Der Fehler weist darauf hin, dass die Methode „get_result()“ für das Objekt „mysqli_stmt“ nicht verfügbar ist. Dies kann durch den fehlenden „mysqlnd“-Treiber verursacht werden.

Lösung:

  1. Mysqlnd-Treiber installieren:

    Dieser Treiber ist nützlich für die Verwendung von „ get_result ()“-Methode ist entscheidend. Bitte stellen Sie sicher, dass es auf Ihrem Webspace installiert ist.

  2. Verwenden Sie bind_result() und fetch():

    Wenn Sie den „mysqlnd“-Treiber nicht installieren können, können Sie „bind_result()“ verwenden ”- und „fetch()“-Methoden, um Abfrageergebnisse zu erhalten. Diese Methoden werden vom Treiber „mysqlnd“ nicht beeinflusst. Der Beispielcode lautet wie folgt:

$stmt->bind_result($emailVerified, $blocked);
$stmt->fetch();
  1. Check mysqli_stmt->execute() Rückgabewert:

    Stellen Sie sicher, dass die Methode „mysqli_stmt->execute()“ erfolgreich ausgeführt wurde. Wenn es „false“ zurückgibt, wird kein Ergebnis für das „stmt“-Objekt gesetzt.

Beispiel:

Hier ist der geänderte Code, der das Problem gelöst hat:

include 'conn.php';
$conn = new Connection();
$query = 'SELECT EmailVerified, Blocked FROM users WHERE Email = ? AND SLA = ? AND `Password` = ?';
$stmt = $conn->mysqli->prepare($query);
$stmt->bind_param('sss', $_POST['EmailID'], $_POST['SLA'], $_POST['Password']);

if ($stmt->execute()) {
    $stmt->bind_result($emailVerified, $blocked);
    $stmt->fetch();
    // Use $emailVerified and $blocked here...
} else {
    echo "Error executing statement: " . $stmt->error;
}

Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Aufruf der undefinierten Methode mysqli_stmt::get_result()'?. 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