0

I have a strange behavior in a php script (PHP 8.1) using MariaDB 10.7.5 database.

This one with native SQL works:

$pdo->query("BEGIN");
[ ... some database stuff ... ]
$pdo->query("COMMIT");

But using PDO's own function does not work, it results to "PHP Fatal error: Uncaught PDOException: There is no active transaction in xxxx":

$pdo->beginTransaction();
[ ... some database stuff ... ]
$pdo->commit();

Can someone explain me why?

4
  • 1
    Were there any DDL statements in the 'stuff'?
    – Rick James
    Commented Sep 23, 2022 at 19:06
  • 1
    Or any other statement that causes an implicit commit? Commented Sep 23, 2022 at 21:58
  • By the way, I edited your question and tags to make it clear that you are using MariaDB, not MySQL. These are different products, not compatible. You shouldn't think of them as variants of the same product. Commented Sep 23, 2022 at 21:59
  • @RickJames no statements like this... only some select, updates and inserts... it still works when i use "BEGIN" and "COMMIT", but not when I use the PDO built-In functions.
    – Marco
    Commented Sep 26, 2022 at 14:30

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.