MySQL事务不适用于PHP类方法

时间:2019-06-22 15:20:25

标签: php

下面是我要执行学生录取的代码,其中我必须在多个表中插入数据。使用课堂上的课堂方法:学生,录取和交易。

如果发生任何错误,addStudent函数将执行其操作-插入数据。但不应插入

try{
        $database = new Database();
        $con = $database->Connect($_SESSION['UserName'], $_SESSION['Password'], $_SESSION['DatabaseName']);

        $admissionHeadList = $acc->getRevisedFeesClassWise();
        $con->beginTransaction();
        $student->addStudent();
        $student->admitStudent();
        $acc->id = $student->id;

        for($i=0; $i<COUNT($admissionHeadList); $i++){
            $acc->onHeadType = $admissionHeadList[$i]->headId;
            $acc->type = $admissionHeadList[$i]->headId;
            $acc->narration=$admissionHeadList[$i]->headName;

            if($admissionHeadList[$i]->headName=='Tution Fees'){
                $acc->amount=($admissionHeadList[$i]->amount*12); // tution fees for 12 months
            }else if($admissionHeadList[$i]->headName=='Unit Test'){
                $acc->amount=($admissionHeadList[$i]->amount*3); // Fees for 3 unit test
            }else{
                $acc->amount=$admissionHeadList[$i]->amount;
            }

            $acc->processAdmissionFees();
        }

        $con->commit();
        $database->Disconnect();
        header('location:'.$_SERVER['PHP_SELF']);
        exit();
    }catch(PDOException $e){
        $con->rollBack();
        $database->Disconnect();
        echo $e->getMessage();
    }

0 个答案:

没有答案