Mude "localhost" para 127.0.0.1.
Assim, em vez de:
$db = new mysqli( 'localhost', 'root', 'pass', 'mydb');
Usar:
$db = new mysqli( '127.0.0.1', 'root', 'pass', 'mydb');
Visto que esta pergunta parece ser bastante popular e muitas pessoas gostariam de saber POR QUE isso está acontecendo :
Vale a pena notar que esse problema parece ocorrer apenas com o Windows 7 e posteriores. Antes do Windows 7, a resolução localhost era tratada pelo arquivo hosts, que vinha pré-configurado com
127.0.0.1