Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Aktualisieren von Datensätzen mit vorbereiteten Anweisungen, Überprüfen, ob die Aktualisierung funktioniert hat

Execute Die Methode gibt True zurück, wenn sie erfolgreich beendet wurde, aber wenn Ihnen dieses Verhalten nicht ausreicht, können Sie auch nach betroffene Zeilen :

$query = "UPDATE user
            SET password = ?
            WHERE email = ?";

if($stmt = $conn->prepare($query)) 
{
    $stmt->bind_param('ss', $pwd, $userEmail);
    if ($stmt->execute()) {
        //query with out errors:
        printf("rows updateds: %d\n", $stmt->affected_rows);
    } else {
        //some error:
        printf("Error: %s.\n", $stmt->error);
    }
}

Die zweite Überprüfung, die Sie durchführen können, besteht darin, sicherzustellen, dass genau 1 Zeile aktualisiert wurde:

if($stmt = $conn->prepare($query)) 
{
    $stmt->bind_param('ss', $pwd, $userEmail);
    if ($stmt->execute() and $stmt->affected_rows == 1) {
        //your update is succesfully.
    }
}