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:
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.
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();
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!