Intenta depurar el problema. Esto puede ser causado por cualquier número de cosas. Comúnmente hay:
- El servidor MySQL colapsó
- Un problema de comunicación entre el cliente y el servidor
- Abusar de la biblioteca del cliente de una manera no deseada, tal vez enviando comandos desordenados o enviando basura a través del socket.
La última vez que lo usé, el controlador PDO era bastante raro y fue posible crear el último caso.
Si es probable que el problema de comunicaciones esté en producción, su aplicación debería volver a conectarse y volver a intentar la transacción.