Рассмотрим основной синтаксис. В коде используем конструкцию 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(); }
Метки: php, транзакции