Cuando llamas a PDO::beginTransaction() , desactiva la confirmación automática.
Entonces puedes hacer:
$db->beginTransaction();
$db->exec('LOCK TABLES t1, t2, ...');
# do something with tables
$db->commit();
$db->exec('UNLOCK TABLES');
Después de un commit() o rollBack(), la base de datos volverá al modo de confirmación automática.