Rumah > Soal Jawab > teks badan
Dengan try catch, adakah ini bermakna saya tidak perlu lagi menggunakan transaksi mysql?
三叔2017-06-07 09:25:24
Lihat jika tangkapan percubaan anda beroperasi pada pangkalan data, yang sudah tentu melibatkan pengemaskinian dan memasukkan berbilang jadual Untuk memastikan integriti data, operasi transaksi mesti didayakan
.//開啟事務
try {
//完成提交事務
} catch(throw $e) {
//rollback
}
给我你的怀抱2017-06-07 09:25:24
Ia bergantung pada apa yang ada dalam tangkapan anda Jika hanya ada satu ayat selepas percubaan, dan pengecualian dilemparkan, tidak akan ada komitmen, OK.
Jika doOne dilaksanakan dan anda tidak menggunakan transaksi, ia akan autokomit. Adakah anda mahu menangkap doOne dan melancarkannya semula secara berasingan atau apa yang perlu dilakukan?
Berikut ialah dua ayat Jika anda mempunyai 10 ayat, bagaimana anda merancang untuk menangkapnya?
try {
doOne
doTwo
} catch(throw $e) {
//rollback
}
天蓬老师2017-06-07 09:25:24
Transaksi dan try catch
adalah dua perkara yang berbeza Sebab mengapa try catch
digunakan semasa memulakan transaksi adalah kerana jika pdo
ialah. digunakan Apabila menggunakan pengembangan seperti mysqli
, ralat pangkalan data akan mengembalikan ralat kepada PHP, menyebabkan program yang dilaksanakan oleh PHP ditamatkan, supaya perintah fungsi langkah rollback
tidak boleh dilaksanakan (dalam Program ini terganggu apabila masuk), dan menggunakan try catch
adalah lebih selamat apabila melakukan operasi transaksitry catch
是两个东西,之所以在启动事务的时候使用try catch
是因为如果在使用pdo
mysqli
这类的扩展的时候,数据库报错会给 php 返回一个错误,让 php 执行的程序终止,从而不能执行到 rollback
这一步的函数命令(在执行录入的时候程序就中断了),而使用try catch
再执行事务操作的时候就安全许多
要分清楚try catch
是属于php
java
这类的逻辑操作的东西,而transation
try catch
ialah operasi logik seperti php
java
dan transation kod >Ia adalah sesuatu yang dimiliki oleh pangkalan data Kedua-duanya boleh bekerjasama tetapi tidak boleh menggantikan #🎜🎜#.balas0