Dovresti basarti su gli id per fare associazioni, basandoti sul nome e' impossibile cambiarli ma soprattutto e' lento (sempre piu' lento man mano che cresce il numero di utenti) e va contro il principio di db relazionale quale MySQL.
Ti serve una struttura come questa:
In questo modo puoi aggiungere un follow cosi':
Mettendo in follower l'id di chi sta eseguendo l'azione di seguire ed in followed l'id di chi viene seguito.
Per sapere quali utenti segue un determinato utente:
Per sapere quali follower ha un determinato utente:
Per il numero di follow ti basta selezionare count invece del nome.
Ti serve una struttura come questa:
In questo modo puoi aggiungere un follow cosi':
SQL:
INSERT INTO Follow (fromId,toId) VALUES (:follower, :followed);
Per sapere quali utenti segue un determinato utente:
SQL:
SELECT nome FROM Utente INNER JOIN Follow ON fromId = Utente.id WHERE fromId = :id;
Per sapere quali follower ha un determinato utente:
SQL:
SELECT nome FROM Utente INNER JOIN Follow ON toId = Utente.id WHERE toId = :id;
Per il numero di follow ti basta selezionare count invece del nome.