Obrati se podršci

Odgovaramo e-poštom, obično u roku od dva dana.

Google reCAPTCHA provjerava ovu prijavu radi zaštite od zlouporabe; podaci se šalju tvrtki Google. Skripta se učitava tek kada se otvori ovaj obrazac.

← Sve objave

Adresa stranice dulja od svojeg stupca

O sadržaju i njegovoj provjeri

U ovom članku

Dana 9. kolovoza 2026. dvadeset slika brojača nije se uspjelo iscrtati. Nisu se iscrtale pogrešno ni sporo — posjetitelj nije dobio baš ništa ondje gdje je trebao biti brojač.

Uzrok je bila adresa stranice dulja od 255 znakova. Sada se skraćuje pri upisivanju i slika brojača više ne ovisi o duljini adrese o kojoj dobije informaciju.

Lanac

Stupac koji pohranjuje na koju je stranicu posjet stigao jest varchar(255). Adresa je stigla dulja od toga. Umetanje nije uspjelo uz SQLSTATE 22001, podaci su predugi za stupac, što je u ovom kodu izazvalo iznimku.

A zapisivanje statistike događa se prije iscrtavanja slike. Zato iznimka nije samo izgubila jedan redak statistike. Prekinula je zahtjev, a upravo je taj zahtjev stvarao sliku brojača. Stranica s dugom adresom kvarila je vlastiti brojač, neprimjetno, za svakog posjetitelja.

stupacvarchar(255)umetanje ne uspijevaSQLSTATE 22001iznimkaprekida zahtjevposjetitelj ne dobiva sliku brojača

Duge adrese nisu egzotične. Galerija s ugniježđenim putanjama, trgovina s desetak parametara praćenja koje je dodala oglašivačka platforma, stranica rezultata pretraživanja — bilo što od toga bez truda prelazi 255 znakova.

Rješenje i rješenje koje nije odabrano

Adresa se sada prije umetanja skraćuje na širinu stupca. Dvadeset znakova vrlo dugog URL-a gubi se s popisa stranica; ništa se drugo ne mijenja.

Druga mogućnost bila je proširiti stupac. Odbačena je: nema širine koja se ne može premašiti, a odabir većeg broja samo pomiče istu pogrešku dalje, gdje će ju biti teže prepoznati kada se pojavi. Takav kvar mora prestati biti fatalan, a ne postati rjeđi.

Obuhvaćanje umetanja blokom try/catch također bi popravilo vidljivi simptom, ali bilo bi gore: brojač bi se iscrtavao, redak bi neprimjetno nestajao, a popisu stranica zauvijek bi nedostajale upravo stranice s najsloženijim adresama, bez ičega u bilo kojem zapisniku.

Dvije pouke koje vrijedi ponijeti

Vanjske podatke treba skratiti na širinu stupca, a ne nadati se da će stati. Sve što stiže izvana — adresa, upućujuća stranica, korisnički agent, naslov — dugo je onoliko koliko je netko drugi odlučio, a baza podataka ima mišljenje o tome koje izražava odbijanjem.

Znajte što se još nalazi nakon mjesta pogreške. Ovo je bila pogreška statistike u usluzi za statistiku, a vidljiva je šteta bila nedostajuća slika. Zapisivanje i iscrtavanje dijelili su zahtjev; ništa u kodu nije govorilo da su povezani i ništa nije upozoravalo da će neuspjelo umetanje sa sobom odnijeti i sliku.

Dvadeset neispravnih slika u danu mali je broj. To je pronađeno čitanjem zapisnika radi nečeg sasvim drugog, što je uobičajen način pronalaska takvih pogrešaka i razlog da ih se nastavi čitati.

Oglas