Visitors database
Ik heb een counter met MYSQL dat en dat ziet er zo uit;
Code (php)
1
2
3
4
5
6
2
3
4
5
6
CREATE TABLE `visitors` (
`date` datetime NOT NULL DEFAULT curdate(),
`visits` int(11) NOT NULL DEFAULT 0,
`ip` varbinary(16) DEFAULT NULL,
UNIQUE KEY `visitors_ip_date_idx` (`ip`,`date`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
`date` datetime NOT NULL DEFAULT curdate(),
`visits` int(11) NOT NULL DEFAULT 0,
`ip` varbinary(16) DEFAULT NULL,
UNIQUE KEY `visitors_ip_date_idx` (`ip`,`date`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Op Versio werkt deze database voor mijn 2 websites die daar werken op PHP 5.x en database.
Echter op mijn thuisserver werkt het niet, ik heb thuis meerdere xampp versies geprobeer met bijbehoorende MYSQL. Nu geinstalleerd versie xampp-windows-x64-7.3.3-1-VC15. Ik krijg bij query opbouw of importeren de volgende foutmelding.
Code (php)
1
2
3
2
3
#1064 - Er is iets fout in de gebruikte syntax bij 'curdate(),
`visits` int(11) NOT NULL DEFAULT 0,
`ip` varbinary(16) DEFAULT' in regel 2
`visits` int(11) NOT NULL DEFAULT 0,
`ip` varbinary(16) DEFAULT' in regel 2
Heeft hier iemand raad mee?
Gr. Bert
Verder is PHP5 behoorlijk antiek!
Gewijzigd op 17/10/2023 01:33:11 door Bert Berg
Deze werkt wel. Dank je wel.
Gr. Bert
Bert Berg op 17/10/2023 01:32:19:
Geprobeerd, Dan krijg ik dezelfde melding. Alleen ipv curdate () CURRENT_DATE() te staan. De versie probeer ik te instaleren met php versie 7.X en mariadb 10.X. Dus dat is niet zo heel oud op mijn thuisserver
Eigenlijk zou je al met PHP op minimaal 8.1 moeten zitten:
https://www.php.net/supported-versions.php
Veel hostings gaan wel oude PHP versies niet meer ondersteunen, en ik weet dat DirectAdmin als hostingbeheerplatform volledig gaat stoppen met PHP5. Dus wacht niet te lang ermee ;-)
Gr. Bert
CREATE TABLE `visitors` (
`id` BIGINT AUTO_INCREMENT NOT NULL,
`date` datetime NOT NULL DEFAULT CURRENT_DATE(),
`visits` int(11) NOT NULL DEFAULT 0,
`ip` varbinary(16) DEFAULT NULL,
PRIMARY KEY(id),
UNIQUE KEY `visitors_ip_date_idx` (`ip`,`date`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Fbis Team op 20/10/2023 15:49:36:
Ik zou sowiezo een unieke ID veld toevoegen - dat gaat heel veel gedoe
Waarom? Het is een logging per datum per ip. Daar ga je niet naar verwijzen. En bewerken zal ook niet iets zijn. Die kun prima op datum + ip vinden