Permalänk
Medlem

PHP/MySQL - Error

Tjenare! Nu är det så att jag vill ladda upp en fil till min databas men får dessa errors:

Citat:

Warning: mysql_query() [function.mysql-query]: MySQL server has gone away in E:\xampp\htdocs\brutalcs\upload.php on line 113

Warning: mysql_query() [function.mysql-query]: Error reading result set's header in E:\xampp\htdocs\brutalcs\upload.php on line 113

Det går att ladda upp en fil på 679kB men sen när jag försöker ladda upp en fil på 1085kB så får jag fram dom där error meddelandena igen. Så det är ju inte något fel på min query.

Hoppas någon vet vad problemet är och hur man löser det

//Rickard

Visa signatur

Det är bättre att fråga och verka dum, än att inte fråga och förbli det.

Permalänk
Medlem

Det är oftast ingen bra idé att lagra hela filer i databasen. Lagra filerna på disk och lagra en referens (länk) till filen i databasen.

Permalänk
Entusiast

http://dev.mysql.com/doc/refman/5.0/en/gone-away.html
Citerar:

Citat:

The most common reason for the MySQL server has gone away error is that the server timed out and closed the connection. In this case, you normally get one of the following error codes (which one you get is operating system-dependent).

Då det fiungerar för dig med mindre filer, men inte större, gissar jag att din SQL-server är inställd på att ta emot en maximal storlek. Kolla upp inställningarna.
En annan orsak kan vara att ju större filen är, desto längre tid tar det. I ditt fall tar det så pass långt tid att "ladda upp" filen att servern hinner stänga ner på grund av tidsbegränsningen. Återigen är detta en inställning i din SQL-server.

ängre ner i kommentarerna nämns också att det här problemet kan dyka upp om man har uppgraderat MySQL från version 4 till 5 utan att ha uppdaterat databasfilerna.
För att slutföra uppdateringen, se följande: http://dev.mysql.com/doc/refman/5.0/en/mysql-upgrade.html

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Medlem

Jag har kollat runt och testat era förslag. Jag tror att jag bara sparar sökvägen i databasen istället för hela filen som You nämnde.

Edit:
Jag ska ha tag på det störta id:et i databasen. Min query ser ut så här:

Citat:

SELECT MAX(id) FROM `demo`

Men jag får bara ut "Resource id #6" hela tiden. Även fast största id:et är 10. Hur och varför?
Det blir till och med "Resource id #6" om jag väljer att den ska ta id:et där t.ex. admin=Hej

Visa signatur

Det är bättre att fråga och verka dum, än att inte fråga och förbli det.

Permalänk
Medlem
Skrivet av riille:

Jag har kollat runt och testat era förslag. Jag tror att jag bara sparar sökvägen i databasen istället för hela filen som You nämnde.

Edit:
Jag ska ha tag på det störta id:et i databasen. Min query ser ut så här:

Men jag får bara ut "Resource id #6" hela tiden. Även fast största id:et är 10. Hur och varför?
Det blir till och med "Resource id #6" om jag väljer att den ska ta id:et där t.ex. admin=Hej

Nu har vi ju ingen kod för hur du hämtar detta men såhär kan det se ut.

$sql = "SELECT MAX(id) FROM `demo`"; $res = mysql_query($sql) or die(mysql_error()); $row = mysql_fetch_row($res); echo $row[0];

Permalänk
Medlem

Tack BuruZ!

Visa signatur

Det är bättre att fråga och verka dum, än att inte fråga och förbli det.