pdo транзакции

Транзакции

Рассмотрим основной синтаксис. В коде используем конструкцию try-catch для отлавливания ошибок. При этом, если код отработал без ошибок, используем метод commit, а если были ошибки — метод rollback.

$users = file(USERS_FILE);
try {
    $dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $dbh->beginTransaction();
    foreach($users as $user){
        list($name, $email) = explode("|", $user);
        $dbh->exec("INSERT INTO users (name, email) VALUES ($name, $email)");
    }
    $dbh->commit();
}catch(PDOException $e){
    $dbh->rollback();
}



Добавить комментарий

Ваш e-mail не будет опубликован.