E' sbagliato il modo in cui fai il tutto.
L'unico controllo che devi fare è sulla tabella user perchè nelle altre tabelle ci va l'id dell'utente e non il nome!
Si chiamano relazioni. Per ottenere il nome dall'id devi utilizzare il comando join. In questo modo ottieni quello che ti serve: cntrollare se lo user esiste con un'unica chiamata al db! Ciao!