Io farei cosi: oltre alla tabella con le credenziali di accesso di ogni singolo utente, ne crei un'altra che chiami (che ne so) utenti_loggati.
Ebbene, in questa tabella inserisci un campo che ti qualifichi inequivocabilmente ogni singolo utente, fosse un hash del nome o anche il nome utente stesso, e la colonna in questione la setti come UNIQUE KEY in mysql.
Quando un utente è loggato questo dato univoco viene segnato nella tabella di log degli accessi, per cui quando un altro utente tenta di accedere con lo stesso nome, nella seconda tabella Mysql blocca la scrittura del log e restituisce un errore (che dovrai gestire).
Quando un utente loggto si disconnette, dovrai avere cura di cancellare il record dalla tabella utenti_loggati, altrimenti non riuscirà più ad accedere al sito.