acho que não há nada no seu código que cause esse erro de tipo, como você pode ver no erro
Access denied for user 'root'@'localhost' (using password: YES)
ele mostra que o problema é com seu usuário ou senha, então verifique mais uma vez se seu usuário e senha estão corretos se você estiver usando senha para usuário do banco de dados.