Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

atualizando registros com declarações preparadas, verificando se a atualização funcionou


Execute O método retorna True quando termina com sucesso, mas, se este comportamento não for suficiente para você, você pode verificar também por linhas afetadas :
$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);
    }
}

A segunda verificação que você pode fazer é verificar se exatamente 1 linha foi atualizada:
if($stmt = $conn->prepare($query)) 
{
    $stmt->bind_param('ss', $pwd, $userEmail);
    if ($stmt->execute() and $stmt->affected_rows == 1) {
        //your update is succesfully.
    }
}