MySqli ne peut pas se connecter à localhost

J'ai cette ligne de code:

$mysqli = new mysqli("localhost", "user", "pass", "db");

Je suis en utilisant XAMPP pour Apache et MySQL. Si j'utilise la ligne ci-dessus, il jette l'erreur suivante:

Warning: mysqli::mysqli(): (HY000/1045): Access denied for user 'user'@'localhost' (using password: YES) in C:\xampp\htdocs\xo\php\connect.php on line 2
Failed to connect to MySQL: (1045) Access denied for user 'user'@'localhost' (using password: YES)
Warning: main(): Couldn't fetch mysqli in C:\xampp\htdocs\xo\php\connect.php on line 6

C'est la même chose si je remplace localhost par 127.0.0.1(j'ai essayé). Mais si j'utilise mon IP de réseau interne(dans ce cas 192.168.1.101) au lieu de localhost il se connecte avec succès.

double possible de Erreur de connexion avec mysqli
Vous n'avez pas fourni l'accès à user@localhost sur votre serveur MySQL, mais vous l'avez fait pour [email protected]. Il suffit d'ajouter le droit à des privilèges supplémentaires
Les caractères génériques pour l'accès apparemment ne permet pas de localhost ou 127.0.0.1. C'est soit local ou à l'extérieur, pas les deux. La définition de l'accès à localhost résolu le problème.

OriginalL'auteur Tenescu Andrei | 2013-07-15