Vâng, thành thật mà nói, mã này đối lập trực tiếp với một mã đúng.
Vì dường như bạn mới bắt đầu học cơ sở dữ liệu, tôi thực sự khuyên bạn nên đi theo cách cơ bản nhất, sẽ lưu trữ mọi lần truy cập. Nó sẽ làm cho mã của bạn ngắn hơn đáng kể và cho phép bạn học các chức năng cơ sở dữ liệu cơ bản.
Vì vậy, hãy làm cho bảng của bạn giống như
dt datetime,
ip varchar(15),
và sau đó trên mỗi lần truy cập, hãy chạy một truy vấn như thế này
$stmt = $DB_CON->prepare("INSERT INTO stats VALUES (NOW(),?)");
$stmt->execute([$_SERVER['REMOTE_ADDR']]);
và để có được số lượng, bạn sẽ phải chạy mã này
$count = $DB_CON->query("SELECT count(*) FROM stats")->fetchColumn();
Truy vấn cuối cùng này là quan trọng nhất:như bạn có thể thấy, cơ sở dữ liệu có thể đếm (cũng như tính tổng, đếm số trung bình hoặc thực hiện bất kỳ phép tính nào khác) cho bạn. Vì vậy, bạn không bao giờ nên thực hiện bất kỳ phép tính nào bên PHP vì luôn yêu cầu kết quả cuối cùng từ cơ sở dữ liệu.
Với thiết lập cơ sở dữ liệu này, bạn sẽ có thể nhận được lưu lượng truy cập hàng ngày của mình, chỉ cần nhóm các kết quả theo cách này:
$daily = $DB_CON->query("SELECT count(*), date(dt) FROM stats GROUP BY date(dt)")->fetchAll();
Và thậm chí có thể thu hút khách truy cập mới.