Cambie "localhost" a 127.0.0.1.
Entonces, en lugar de:
$db = new mysqli( 'localhost', 'root', 'pass', 'mydb');
Usar:
$db = new mysqli( '127.0.0.1', 'root', 'pass', 'mydb');
Dado que esta pregunta parece ser bastante popular y a muchas personas les gustaría saber POR QUÉ sucede esto :
Vale la pena señalar que este problema solo parece ocurrir con Windows 7 y posteriores. Antes de Windows 7, la resolución del host local estaba a cargo del archivo de hosts, que venía preconfigurado con 127.0.0.1