A Mysqli a szinkronizációtól elmarad; hogyan kell kijavítani, hogy ne legyen hiba

  • PHP
  • MySQL

Ennek lényege, tanulok mysqli-t használni, a kereten keresztül dolgoztam a mysql-lel, úgy döntöttem, hogy a scriptekben a cron írható, hogy a kódot a keret nélkül írja, hogy megértse, mi és milyen gyorsan működik.

A kód a következő: először megkapjuk az adatokat a városok számára (tesztek esetén a minta egy adott értékre korlátozódott)

Miután töröltem a beérkezett adatok alapján, a táblázatok bejegyzései, amelyeket új adatokkal frissítenek


Itt minden rendben van.

Ezután kérek egy külső kiszolgálóról a városra vonatkozó szállodák listáját

És elemzem az eredményül kapott JSON-t

Minden egyes iterációnál az egyes fogadott hotelek adatainak feldolgozása megtörténik, és egy kiterjedt kérést gyűjtünk be a $ sql változóba (egy kérés egy iterációra)

Melyik utána ezt tesszük

Valójában itt hibát kapunk (sok hiba helyesebb, mivel a hurok nem áll meg hiba esetén)

De nem értem, hogyan kell kijavítani. Az interneten való keresés az ilyen jellegű megbotránkozás miatt

A.2.12 A Parancsok hibája a szinkronizáló kliensen kívül
Ha parancsokat kap a szinkronizációs hibából; Nem tudja futtatni ezt a parancsot az ügyfélkódban, akkor az ügyfélfüggvényeket rossz sorrendben hívják!
Ez akkor fordulhat elő, ha például mysql_use_result () használják, és kísérletet tett, hogy végre az új kérelmet, mielőtt okozott mysql_free_result (), illetve ha az ügyfél megkísérli a két visszatérő kérés adatok említése nélkül mysql_use_result () vagy mysql_store_result () között.
www.mysql.ru/docs/man/Commands_out_of_sync.html

Azonban csak egy lekérdezést adok vissza (SELECT). Miután az idő hurok van írva

mysqli_free_result ($ query); de ez már a hiba után történik.

Amit nem értek, vagy hol oldja meg?

Kapcsolódó cikkek