PDO没有活动交易

时间:2015-07-15 14:48:46

标签: php mysql pdo

我的一个类文件一直在吐出"没有活动的交易"创建一些记录时发出警告。它是唯一一个这样做的人,我无法弄清楚为什么因为我的所有查询都成功执行了。

我的php_errors日志让我对这个问题没有任何洞察力,也没有任何其他相关问题提供任何解决方案。

    try {
        App::$DB->beginTransaction();

        $rQuery = App::$DB->prepare("INSERT INTO `Cervidae` (`".implode('`, `',array_keys($aSQL))  ."`) VALUES (".implode(",",$aPlaceholders).")");
        $rQuery->execute(array_values($aSQL));

        $this->_Cervid_ID = App::$DB->lastInsertId();

        if (is_array($aData["Treatments"])) {
            foreach ($aData["Treatments"] as $sTreatmentName => $sTreatmentData) {
                $oTreatmentToCervid = new TreatmentToCervid(array("Treatment_ID" => $sTreatmentData["Treatment_ID"], "Cervid_ID" => $this->_Cervid_ID, "CreatedBy" => $aSQL["CreatedBy"], "UpdatedBy" => $aSQL["UpdatedBy"], "Dose" => $sTreatmentData["TreatmentDose"]), "NEW");
            }
        }

        $oHerdSize = App::getFlat(self::get(array("COUNT(Cervidae.Cervid_ID) AS HerdSize"),array("Cervidae.Herd_ID = $nHerdID","Cervidae.IsActive = 1")));
        $rQuery = App::$DB->prepare("UPDATE `Herds` SET `HerdSize` = ".$oHerdSize->HerdSize." WHERE `Herd_ID` = ".$nHerdID);
        $rQuery->execute();

        App::$DB->commit();

        $this->__construct($this->_Cervid_ID, 'ID');

    }
    catch (Exception $e) {
        App::$DB->rollBack();
        throw new Exception($e->getMessage());
    }

0 个答案:

没有答案