je pense qu'il n'y a rien dans votre code qui causera ce type d'erreur, comme vous pouvez le voir dans error
Access denied for user 'root'@'localhost' (using password: YES)
cela montre que le problème vient de votre utilisateur ou de votre mot de passe, alors vérifiez à nouveau que votre utilisateur et votre mot de passe sont corrects si vous utilisez un mot de passe pour l'utilisateur de la base de données.