sql >> Base de Datos >  >> RDS >> Mysql

Error de paquetes fuera de orden al llamar al proceso almacenado de MySQL

Después de pasar muchas horas tratando de aislar partes de mi código para resolver este problema, noté que el error desapareció después de establecer el indicador ATTR_EMULATE_PREPARES en verdadero.

$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);

Esto le dice a PDO que emule las declaraciones preparadas en lugar de MySQL de forma nativa. Por lo que he estado leyendo, generalmente se recomienda desactivar este indicador (es verdadero de forma predeterminada) si está utilizando la versión más actualizada de MySQL y PHP. Puede encontrar más información al respecto en este SO artículo .

Creo que se trata de un error con MySQL (tuve el problema hasta la versión 5.6.17). No hay mucha discusión sobre este problema en particular, así que espero que esto le ahorre a alguien más horas de resolución de problemas. El problema también se analiza en esta página de errores de MySQL , pero la solución publicada no me ayudó en mi situación.