Mysql
 sql >> Base de données >  >> RDS >> Mysql

Erreur lors de la connexion à la base de données sur le serveur hébergé

Note complémentaire : En supposant que les informations d'identification sont correctes, fournies par votre hébergeur.

Il y a plusieurs problèmes avec ce code (tiré d'un commentaire que vous avez laissé).

Premièrement, trois de vos déclarations ne sont pas entre guillemets et sont traitées comme des constantes.

Le rapport d'erreur PHP aurait généré des notifications de constantes indéfinies.

Ceux-ci sont traités comme des constantes :

 $username=b31_16461744; 
 $pass=test123; 
 $dbname=b31_16461744_user; 

Vous faites également référence à la mauvaise variable pour le nom d'utilisateur étant $user qui devrait être $username . Un rapport d'erreur aurait signé un avis de variable indéfinie.

Ensuite, vous mélangez mysql_ avec mysqli_ syntaxe. Ces différentes API MySQL ne se mélangent PAS. Vous devez utiliser le même dans tout votre code.

Sidenote :L'autre question que vous avez postée Accès refusé pour l'utilisateur 'test123'@'192.168.0.38' (en utilisant le mot de passe :NON) vous utilisez sql306.byethost31.com pour l'hôte. Assurez-vous que c'est correct. Je n'ai aucune idée des paramètres que l'hébergeur veut que vous utilisiez.

<?php 
     $localhost="localhost"; 
     $username="b31_16461744"; 
     $pass="test123"; 
     $dbname="b31_16461744_user"; 
     $a= mysqli_connect($localhost, $username, $pass); 
     mysqli_select_db($a, $dbname); 
     if($a)
     { 
       echo "connected..";
     } 
     else 
     { 
       echo "not...!!"; 
     }
?>

ou utilisez simplement les quatre paramètres :

<?php 
     $localhost="localhost"; 
     $username="b31_16461744"; 
     $pass="test123"; 
     $dbname="b31_16461744_user"; 
     $a= mysqli_connect($localhost, $username, $pass, $dbname); 

     if($a)
     { 
       echo "connected..";
     } 
     else 
     { 
       echo "not...!!" . mysqli_error($a); 
     }
?>

Cependant, votre else avec l'écho ne vous aide pas. Utilisez mysqli_error() pour obtenir la vraie erreur.

C'est-à-dire :or die("Error " . mysqli_error($a));

Exemple tiré du manuel

$link = mysqli_connect("myhost","myuser","mypassw","mydb")
        or die("Error " . mysqli_error($link)); 

Références :

Ajouter rapport d'erreurs en haut de vos fichiers, ce qui vous aidera à trouver les erreurs.

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Note complémentaire : L'affichage des erreurs ne doit être fait qu'en staging, et jamais en production