For those who manually compiled MySQL, the default
mysqlnd settings may results in error.
Your mysql_error() function may give you this message:
---------------------------
No such file or directory (trying to connect via unix:///tmp/mysql.sock)
---------------------------
This is because your manually compiled MySQL has its own place for socket.
You need to provide PHP a reference for an appropriate mysql socket.
That means you need to edit php.ini and add a section like this:
---------------------------
[mysql]
mysql.default_socket="/your/path/to/mysql.sock"
---------------------------