mysql_query - "the document contained no data"

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1

Hej.

Mycket förenklat ser min kod ut såhär:

for($i=0; $i < 45; $i++) {
mysql_query("INSERT INTO tabell VALUES('1', '2', '3')");
}

De 32 första varven i loopen så går det utmärkt, men sen tvärvägrar koden att lägga in mer rader i databasen.

Citat:

"The document contained no data"

Felmedelandet ser du här över, men vad betyder det???

Gisar att något av värdena som infogas på 33 varvet inte är kosher?

Ursprungligen av Taz_1999:

Gisar att något av värdena som infogas på 33 varvet inte är kosher?

Jag använder koden för att indexera filer som laddas upp p åen ftp via ett webbgränssnitt. Jag tog till mig ditt förslag och testade 50 helt andra filer. Resultatet blev att den bröt vid 40:e varvet i loopen istället... alltså verkar det vara någon typ av overflow?

Står ditt ; på rätt ställe?

Så här ser det ut:
mysql_query("INSERT INTO tabell VALUES('1', '2', '3')");

Borde det inte vara:
mysql_query("INSERT INTO tabell VALUES('1', '2', '3');")

tyvärr är lösningen inte så enkel.. syntaxen är riktigt.

Värt att påpeka är att det inte är några mängder data som skall in i databasen för varje rad så det borde inte överstiga minnesgränsen för mysql... skumt

Syntaxen är riktigt för ett SQL-kommando. Och och med att du inte anger ; så betyder det att vad som matas till mysql är en lång lång textsträng med ännu ett INSERT-kommandon från varje loop utan ett kommando att exekvera dem som just ; är. Efter ett visst antal tecken ger MySQL upp och skapar inga poster och returnerar en tom sträng, då får du felmeddelandet. Att du får olika antal loopar innan den ger upp beror på att vad som matas har olika längd, du nämnde filnamn i ett tidigare inlägg.

Gör så här om du inte tror mig, mata ut resultatet av tex 50 loopar till en webbsida istället, kopiera texten, försök sedan att köra den resulterade koden i tex PHPMyAdmin eller MySQLQery-tjosan eller något annat admin-verktyg. Du bör få vettigare felmeddelanden i alla fall.

1
Bevaka tråden