Tak, szczerze mówiąc, ten kod jest dokładnie przeciwny do poprawnego.
Ponieważ najwyraźniej dopiero zaczynasz uczyć się baz danych, zdecydowanie sugeruję, abyś wybrał najbardziej podstawową drogę, która będzie przechowywać każde trafienie. To znacznie skróci Twój kod i pozwoli Ci nauczyć się podstawowych funkcji bazy danych.
Zrób więc swój stół jak
dt datetime,
ip varchar(15),
a następnie przy każdym trafieniu uruchom zapytanie takie jak to
$stmt = $DB_CON->prepare("INSERT INTO stats VALUES (NOW(),?)");
$stmt->execute([$_SERVER['REMOTE_ADDR']]);
i aby uzyskać liczbę, będziesz musiał uruchomić ten kod
$count = $DB_CON->query("SELECT count(*) FROM stats")->fetchColumn();
To ostatnie zapytanie jest najważniejsze:jak widzisz, baza danych może liczyć (jak również sumować, liczyć średnie lub wykonywać jakiekolwiek inne obliczenia) za Ciebie. Dlatego nigdy nie powinieneś wykonywać żadnych obliczeń po stronie PHP, ale zawsze żądaj wyniku końcowego z bazy danych.
Dzięki tej konfiguracji bazy danych będziesz w stanie uzyskać dzienny ruch, po prostu grupując wyniki w ten sposób:
$daily = $DB_CON->query("SELECT count(*), date(dt) FROM stats GROUP BY date(dt)")->fetchAll();
I może nawet pozyskać nowych gości.