Mysql
 sql >> Database >  >> RDS >> Mysql

mysqli::query() restituisce true su query selezionate

Questo suona come una condizione di razza di qualche tipo. Stai utilizzando MyISAM, quindi è possibile che un aggiornamento venga posticipato (soprattutto se c'è molto traffico su quel tavolo).

Il true return indica che il tuo select query completata correttamente ma restituita e set di risultati vuoto (nessuna riga). Se la tua logica quando ciò accade è aspettare, diciamo, 50 millisecondi e riprovare, potresti scoprire che le cose funzionano correttamente.

Modifica :potresti provare a bloccare la tabella prima di eseguire l'AGGIORNAMENTO fino a quando non hai eseguito l'ultimo SELECT. Ma ciò potrebbe compromettere le prestazioni di altre parti della tua app. La cosa migliore da fare è rendere la tua app robusta di fronte alle condizioni di gara.