Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysqli::query() retorna true em consultas selecionadas


Isso soa como uma condição de corrida de algum tipo. Você está usando o MyISAM, então é possível que uma atualização seja adiada (especialmente se houver muito tráfego nessa tabela).

O true return indica que seu select consulta concluída corretamente, mas retornou e conjunto de resultados vazio (sem linhas). Se sua lógica quando isso acontecer for esperar, digamos, 50 milissegundos e tentar novamente, você poderá descobrir que as coisas funcionam corretamente.

Editar :Você pode tentar bloquear a tabela antes de fazer o UPDATE até ter feito o último SELECT. Mas isso pode prejudicar o desempenho de outras partes do seu aplicativo. A melhor coisa a fazer é tornar seu aplicativo robusto diante das condições de corrida.