Quando você chama PDO::beginTransaction() , ele desativa a confirmação automática.
Então você pode fazer:
$db->beginTransaction();
$db->exec('LOCK TABLES t1, t2, ...');
# do something with tables
$db->commit();
$db->exec('UNLOCK TABLES');
Após um commit() ou rollBack(), o banco de dados voltará ao modo de confirmação automática.