niko Posted May 21, 2007 Report Posted May 21, 2007 Respektīvi, ir nosacīta apmeklētāju skaitīšanas sistēma - tiek reģistrēts laiks un IP. Ja šie lielumi sakrīt, tad otrreiz ieraksts pievienots netiek. Datuma pievienošana notiek ar NOW() (lauks ir DATE) un Ip tiek pārvērsts ar INET_ATON palīdzību. Ip iegūta ar $_SERVER['REMOTE_ADDR']. Tomēr, visā tajā slēpjas kāds bugs, jo vienā un tajā pašā dienā vairākkārtīgi IP laukā tiek pievienots ieraksts 2147483647. Pats lauks datubāzē ir noformēts kā INT. Būtu interesanti uzzināt kāpēc tā notiek?
Delfins Posted May 21, 2007 Report Posted May 21, 2007 (edited) ja tu gribi unikālu lauku, tad uztaisi PrimKey/UniqKey.. un lieki nečakarējies. Edited May 21, 2007 by Delfins
niko Posted May 21, 2007 Author Report Posted May 21, 2007 (edited) IP citā dienā var atkārtoties. Turklāt, tīri interesē, kāpēc tā. :) Edited May 21, 2007 by niko
andrisp Posted May 21, 2007 Report Posted May 21, 2007 99% ka kods nepareizs. Iemet ieksh paste.php.lv
andrisp Posted May 21, 2007 Report Posted May 21, 2007 Varbūt vēl izveido varchar lauku, kur pieglabā IP adresi, kāda tā pa īstam izskatās ? Tādā veidā varbūt kaut kas skaidrāks paliks. PS. 2147483647 ir 127.255.255.255 . Tas kaut kā neizskatās normāli.
Delfins Posted May 21, 2007 Report Posted May 21, 2007 (edited) IP citā dienā var atkārtoties. Ak jēl... UNIQUE_KEY {IP,DATE} Starp citu (1), uzliec tipu laukam INT_UNSIGNED (2 lielāks cipars ielīdīs) Starp citu (2), MYSQL ir tips BIGINT, kurš glabā ciparu kā stringu.. bet perversijām programmā ar tipu konvertāciju Edited May 21, 2007 by Delfins
bubu Posted May 21, 2007 Report Posted May 21, 2007 Vai tik IP nav SIGNED INT lauks? Tādējādi liekot "lielas" IP adreses >=128.0.0.0 tāds integers >=0x80000000 nelien signed tipā, tāpēc MySQL ieliek maksimālo signed intu kāds iespējams - 0x7FFFFFFF = 127.255.255.255 = 2147483647.
niko Posted May 22, 2007 Author Report Posted May 22, 2007 Paldies visiem par padomiem, iepazinos gan ar signed/unsigned integeriem, gan, pēc Deflina izsauciena, ar steigu apskatīšu arī KEY`u fiškas. :)
Recommended Posts