Mysql
 sql >> Base de données >  >> RDS >> Mysql

mettre à jour les enregistrements avec des déclarations préparées, vérifier si la mise à jour a fonctionné

Execute La méthode renvoie True lorsqu'elle s'est terminée avec succès, mais, si ce comportement ne vous suffit pas, vous pouvez également vérifier lignes affectées :

$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);
    }
}

La deuxième vérification que vous pouvez faire est de vérifier qu'exactement 1 ligne a été mise à jour :

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