This topic is locked

How to use database transactions in MySQL and PHPRunner

12/18/2023 11:30:44 AM
PHPRunner Tips and Tricks
admin

The following example can be added to event like BeforeAdd or BeforeEdit. It shows an example of insering a unique receipt number.

DB::Exec("START TRANSACTION;");
$nextUsableNumberRs = DB::Query("select * from next_usable_number");
$nextUsableNumber = $nextUsableNumberRs->fetchAssoc();
$values["receipt_number"] = $nextUsableNumber["number"];
//insert receipt
DB::Insert("receipt",$values);
//update next number
DB::Update("next_usable_number", array("number" => generatePassword(10)),array("id" => 1));
if( $values["total"] < 100 ){
DB::Exec("ROLLBACK;");
$error = "value must be greater than 0";
}
else
DB::Exec("COMMIT;");
return false;