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

mysqli::query() devuelve verdadero en consultas seleccionadas

Esto suena como una condición de carrera de algún tipo. Está utilizando MyISAM, por lo que es posible que se difiera una actualización (especialmente si hay mucho tráfico en esa tabla).

El true return indica que su select la consulta se completó correctamente pero devolvió un conjunto de resultados vacío (sin filas). Si su lógica cuando eso sucede es esperar, digamos, 50 milisegundos y volver a intentarlo, es posible que las cosas funcionen correctamente.

Editar :Podría intentar bloquear la tabla desde antes de hacer la ACTUALIZACIÓN hasta que haya hecho la última SELECCIÓN. Pero eso podría estropear el rendimiento de otras partes de su aplicación. Lo mejor que puede hacer es hacer que su aplicación sea robusta frente a las condiciones de la carrera.