PDO::commit يرتكب معاملة (PHP 5 >= 5.1.0، PECL pdo >= 0.1.0)
منطقي PDO::الالتزام (باطل)
قم بإجراء معاملة وسيعود اتصال قاعدة البيانات إلى وضع الالتزام التلقائي حتى يتم الاتصال التالي بـ PDO::beginTransaction() لبدء معاملة جديدة.
<?php/* بدء معاملة وإيقاف الالتزام التلقائي */$dbh->beginTransaction();/* أدخل صفوف متعددة من السجلات على أساس الكل أو لا شيء (إما الكل أو لا شيء) */$ sql = 'أدخل قيم الفاكهة (الاسم واللون والسعرات الحرارية) (؟، ?، ?)';$sth = $dbh->prepare($sql);foreach (الفواكه كـ $fruit) { $sth->execute(array( $fruit->name, $fruit->colour, $fruit->calours, ));}/* تنفيذ التغييرات*/$dbh->commit();/* اتصل الآن بـ عودة قاعدة البيانات إلى وضع الالتزام التلقائي*/?>
<?php/* بدء معاملة وإيقاف الإرسال التلقائي */$dbh->beginTransaction();/* تغيير مخطط قاعدة البيانات */$sth = $dbh->exec("DROP TABLE Fruit");/* تغيير مخطط قاعدة البيانات*/$dbh->commit();/* الآن يعود اتصال قاعدة البيانات إلى وضع الالتزام التلقائي*/?>
ملاحظة: لا تسمح جميع قواعد البيانات بعمليات المعاملات باستخدام عبارات DDL: فبعضها سيولد أخطاء، بينما سيقوم البعض الآخر (بما في ذلك MySQL) بتنفيذ المعاملات تلقائيًا بعد مواجهة عبارة DDL الأولى.