0

多くの関数を持つPHPクラスがあり、これが私の問題です:

関数Aでは、データベースへの挿入を準備するためのいくつかの手順を実行しますが、このコードのような他の関数(B関数)で実行したいのでコミットしません。しかし、データベースには 1 行も挿入されません。

何か案が?

すべてのおかげで、これは私のサンプルコードです:

public static function functionA($id, $email, $password, $name, $surname) {

    global $mysqli;

    $mysqli = self::getDb(); //with $mysqli->autocommit(FALSE); 

    if (!($stmt = $mysqli->prepare('INSERT INTO User (Id, mail, Password, Name, Surname) VALUES (?,?,?,?,?)'))){

           self::closeDatabase($mysqli, $stmt);
           die;
    }

    if (!$stmt->bind_param("sssss", $id, $email, $password, $name, $surname)) {

        self::closeDatabase($mysqli, $stmt);
        die;
    }

    if (!$stmt->execute()) {

        self::closeDatabase($mysqli, $stmt);
        die;
    }

}
public static function functionB() {

    global $mysqli;

    $mysqli->commit();

    self::closeDatabase($mysqli, $stmt);
}
4

1 に答える 1