Hôte modifié: le script de test de connexion simple lance HY000 / 2002

J’ai ce script de connexion simple que j’ai utilisé pendant un certain temps et qui a bien fonctionné pour moi.

connect_errno) { die("Connection failed: " .$conn->connect_errno. ": " .$conn->connect_error); } else { echo "Connected successfully"; } ?> 

Je teste ma connexion depuis localhost (ou l’hôte que nous avions l’habitude d’avoir) et ce que j’obtiens sur la page est:

Connecté avec succès

Récemment, nous avons changé notre hôte ( où vit le script ) en domain.com et quand je lance le même script de test depuis le haut sur cet hôte, je reçois

Attention: mysqli_connect (): (HY000 / 2002): Connexion refusée dans /hermes/bosnaweb04a/b2140/…/newdbtest.php sur la ligne 8

Connecté avec succès

La ligne 8 ci-dessus est:

 $conn = mysqli_connect(DB_HOST, DB_USER, DB_PASS); 

Le principal problème est que, bien qu’il me dise “connecté avec succès”, je pense que l’avertissement essaie de m’informer de ce qui gâche le site car pratiquement rien ne fonctionne vraiment (comme une fonctionnalité de connexion), bien que ou le vieil hôte que nous avions.


Note: J’ai mis à jour le code pour refléter la meilleure pratique / version de ce que j’ai essayé. Les réponses de Jay Blanchard ont jusqu’à présent consortingbué à ces mises à jour, même si le problème n’est toujours pas résolu.

mysqli_connect() nécessite quatre arguments pour se connecter avec succès:

 const DB_HOST = 'xxx.xx.xxx.xx'; const DB_USER = 'myuser'; const DB_PASS = 'mypass'; const DB_NAME = 'myname'; $conn = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME) or die(mysqli_error($conn)); 

J’utiliserais également la méthode or die() (procédure) pour quitter si vous n’obtenez pas de connexion. À mon avis, vous devriez vous en tenir aux méthodes procédurales ou à la POO, pour la propreté (pas que vous ne pouvez pas mélanger, cela rend simplement plus difficile à suivre).

De plus, vérifiez le numéro de port MySQL utilisé sur votre ordinateur local ainsi que sur la télécommande. Cela pourrait facilement expliquer les différences entre les serveurs.