Mysql
 sql >> Database >  >> RDS >> Mysql

aggiornare i record con le dichiarazioni preparate, controllare se l'aggiornamento ha funzionato

Execute il metodo restituisce True quando è terminato con successo, ma, se questo comportamento non è sufficiente per te, puoi controllare anche righe interessate :

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

Il secondo controllo che puoi fare è verificare che esattamente 1 riga sia stata aggiornata:

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