Visitors database
Hallo allemaal
Ik heb een counter met MYSQL dat en dat ziet er zo uit;
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.
Heeft hier iemand raad mee?
Gr. Bert
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
En als je CURRENT_DATE() gebruikt?
Verder is PHP5 behoorlijk antiek!
Verder is PHP5 behoorlijk antiek!
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
Gewijzigd op 17/10/2023 01:33:11 door Bert Berg
CURRENT_TIMESTAMP()
Deze werkt wel. Dank je wel.
Gr. Bert
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
Ik ben aan het proberen langzaam naar php 8.x te gaan. Maar ik heb nog sites en scripts die op 5.X geschreven zijn. Nu ben ik wel bezig met een PHP8 & MYSQL boek, maar dat is zo gemakkelijk nog niet om die in een paar dagen te lezen. Nu werkt Coppermine gallery wel goed met PHP7 & 8. Dus mijn site coverpalace werkt nu met PHP 7.3.3 en heb nu ook nog php5.X ernaast lopen voor de oudere sites. Dus 2 PHP versies op 1 xampp server. Dit werkt heel goed. De uitleg hiervoor vond ik op: https://stackoverflow.com/questions/45790160/is-there-way-to-use-two-php-versions-in-xampp
Gr. Bert
Gr. Bert
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 ;-)
We gaan oefenen Ariën
Gr. Bert
Gr. Bert
Ik zou sowiezo een unieke ID veld toevoegen - dat gaat heel veel gedoe
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;
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




