Rica ederim, size veri tabanından başka bir yol önereyim, biraz dolambaçlı olabilir ama veri tabanını kullanmaz.
Bir tane online.json diye dosya oluşturun. Bu dosyanın içeriğini en başta key olarak veri tabanındaki bütün kullanıcılar, value olarak timestamp verin. Bunu veri tabanından çekerek dinamik şekilde yapabileceğiniz gibi ilk sefere özgü statik şekilde de yapabilirsiniz.
Bir php dosyasında şu şekil bir şey yapmanız lazım yani;

$users = [
'kullanıcı_id1' => time(),
'kullanıcı_id2' => time(),
..
..
];
file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'online.json', json_encode($users, JSON_UNESCAPED_UNICODE));

Kullanıcıları döngü ile çekip ekleyin orası size kalmış.

Sayfanın başında bu json dosyasını alın, array e çevirin, o an oturum açmış kişinin id değerini şimdiki zaman damgasıyla güncelleyin, bu işlemi kullanıcının her tıkladığı sayfanın üstüne gelecek şekilde ayarlayın. Online kontrolü yaparken de o kişinin son aktivitesi şimdiki zamandan atıyorum 5 dk eskiyse offline yeni ise online olsun. Online.json dosyasını da yeni kullanıcı kayıt olma ihtimaline göre 15 dk bir cron ile kontrol edip veri tabanına eklenen yeni kullanıcı varsa siz de o dosyaya onu eklersiniz. Fikir bu, detayları şekillendirmek size kalmış. Ama ne denli mantıklı orası meçhul :)