Assicurati di specificare esplicitamente finish() ogni procedura preparata eseguita CALL prima di commit() esplicitamente la transazione. Ad esempio,
$sth->finish;
$sth->commit();
Questo sembra essere un bug per me, data la semantica tipica di finish() . Set di risultati multipli, chiamando more_results , ecc. non importava.
DBD 1.616, DBD::mysql 4.020 e MySQL 5.5.19.