Toon posts:

[PhpMyAdmin] Request failed op lange URI *

Pagina: 1
Acties:
  • 129 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een tabel gemaakt met daar in een veld "inhoud". In dat veld komt vooral htmldata ( dus tabellen etc). Wanneer ik met explorer via Phpmyadmin een record wil veranderen geeft hij bij internet explorer niet thuis (oftwel hij doet helemaal niets).
Wanneer ik via Mozilla dezelfde actie wil ondernemen geeft hij de volgende response:

Request-URI Too Large
The requested URL's length exceeds the capacity limit for this server.

request failed: URI too long

Ik denk dus dat het aan het type van de column "inhoud" ligt. Elke keer als ik op "Edit/wijzigen" klik neemt hij de hele inhoud van dat veld mee in de sql query die PhpMyadmin wil uitvoeren. En dat werkt dus niet.
In welk type moet ik die column nu veranderen zodat PhpMyadmin ermee overweg kan. Ik heb al verscheidene gebruikt (TEXT, LONGTEXT, BLOB).

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Wat is de url van die page waar je heen surft? Kennelijk geef ie iets teveel GET data door ofzo.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • Soef
  • Registratie: Februari 2001
  • Laatst online: 03-02-2023

Soef

-Soef^IO-

PHPmyAdmin stuurt altijd alles door met _GET.

Als je dus een gigantische lap text hebt en die wilt editen in phpmyadmin, ga je dus een probleem krijgen met het limiet wat je over de _GET aan tekens mag versturen.

Ik weet niet precies wat het limiet is, maar ik zou een scriptje in PHP schrijven die het ovor je aanpast:

$content = "Onbenullig vreselijk lange text ^_^.";

mysql_query ("UPDATE tabel SET text = \"$content\" WHERE id = \"1337\"");

Some things can not happen until they happen...


Verwijderd

Dat is wel slecht eigenlijk.

Ik ben hier pasgeleden ook tegenaan gelopen. Internet Explorer vertikt het inderdaad om te versturen als de GET URI te lang wordt. Van de ene kant is dat mooi (omdat je geen request uitvoert die niet toegestaan is), van de andere kant frustrerend omdat hij maar niet wil versturen zonder dat je een idee krijgt wat de oorzaak daarvan is.

Eén oplossing is phpMyAdmin hacken (sowieso is het niet correct als ALLES met GET verstuurd wordt, een wijziging hoort zeker wel met POST verstuurd te worden), een andere is een eigen database-edit-paginaatje bouwen in PHP.

Verwijderd

Topicstarter
Tsja, ik denk ook wel dat ik het ga oplossen met een eigen scriptje. Maar om snel even te testen is/was PhpMyadmin altijd wel handig.
Er moest eigenlijk in PhpMyadmin een optie komen waarin je kunt aangeven welke velden je wilt meenemen in select query ( in de Where clausule ).

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

Welke phpMyAdmin versie gebruik je?

Misschien dat de nieuwe 2.6 rc het beter doet?

Verwijderd

Topicstarter
Dat maakte dus niets uit.

Het heeft mij wel verder geholpen. Ik kreeg een reactie waarom ik het record niet kon edite. Je moet goed definieren welk veld de primaire sleutel krijgt. Voor sommige tabellen had ik dat helemaal niet gedefinieerd (omdat ik het niet gebruik voor mijn scipts), en daarom wil phpMyadmin dan alle data in de where clausule gooien.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

Hoe haal je in hemelsnaam data uit een database zonder primary key :?

Tenzij je maar 1 row gebruikt, maar dan ben je sowieso wazig bezig :P

Oftewel imho niet zo vreemd dat PMA het niet zo leuk vond :P

[ Voor 19% gewijzigd door Bosmonster op 09-08-2004 14:16 ]


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 23-05 18:13
De primary key wordt per definitie gebruikt om een rij te identificeren; dat doet MySQL dus ook. Bij gebrek aan een eigengedefineerde primary key worden alle velden meegenomen (dat levert de minste beperkingen op). Als daar TEXT- of BLOB-fields bijzitten dan kan die inderdaad idioot lang worden.

Sowieso is het omwille van de efficiëntie niet wenselijk om variabele of lange velden onderdeel te maken van de primary key. Hoewel phpMyAdmin dus wel een extra beperking oplegt, zou je daar niet mee te maken moeten hebben bij een gangbaar, degelijk databaseontwerp.
Pagina: 1