Почему не воводятся данные из БД?
Потому что никто никогда не читает документацию. 
В которой написано, например - какой массив возвращает fetchAll(). И можно ли из него получить что-то в виде $user_data['id'].
А ещё в мануале написано, какая на самом деле функция подойдёт в данном случае.

Также, там написано, что делает функция fetchColumn(). Которая, во-первых, делает совсем не то что думает автор кода, а во-вторых, даже если бы и делала, то всё равно здесь никаким боком не нужна.

И я уже не говорю, что в мануале написано темно-красным по светло-красному, что MD5 нельзя использовать для хэширования паролей. 
После fetchColumn курсор переходит на следующую строку результирующего набора и fetchAll ничего не получает.