I have read a lot of these but I have a few questions that I think aren't adequately answered. If there is a link, please refer me to it and I'll be grateful.

I have a PHP login system and it will be a community site where users will register and login. Now I need your help in these things:

1. What hashing algorithm is enough for most of sites (WP, Joomla, FB, et al)? simple MD5 with salt? or what?
2. What are attacks I have to deal with that are, apart form top secret sites, existing in community driven site (Juts list of them and may be short explanation of what they are)
3. What is the best among PDO and MySQLi (I saw PHP recommends the latter but I would like to hear from you guys)

Thanks a lot,
Stefano