Да, честно казано, този код е точно противоположен на правилния.
Тъй като очевидно току-що сте започнали да изучавате бази данни, силно бих ви препоръчал да отидете по най-основния начин, който ще съхранява всяко попадение. Това ще направи вашия код значително по-кратък и ще ви позволи да научите основните функции на базата данни.
Затова направете таблицата си като
dt datetime,
ip varchar(15),
и след това при всяко попадение изпълнете заявка като тази
$stmt = $DB_CON->prepare("INSERT INTO stats VALUES (NOW(),?)");
$stmt->execute([$_SERVER['REMOTE_ADDR']]);
и за да получите броя, ще трябва да изпълните този код
$count = $DB_CON->query("SELECT count(*) FROM stats")->fetchColumn();
Тази последна заявка е най-важна:както можете да видите, базата данни може да брои (както и да сумира, да брои средни стойности или да прави каквито и да било други изчисления) вместо вас. Така че никога не трябва да правите никакви изчисления от страна на PHP, но винаги изисквайте крайния резултат от базата данни.
С тази настройка на базата данни ще можете да получите ежедневния си трафик, като просто групирате резултатите по следния начин:
$daily = $DB_CON->query("SELECT count(*), date(dt) FROM stats GROUP BY date(dt)")->fetchAll();
И дори може да привлече нови посетители.