Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Fehler beim Verbinden mit der Datenbank auf dem gehosteten Server

Nebenbemerkung: Vorausgesetzt, die Anmeldeinformationen sind korrekt, die Sie von Ihrem Webhoster erhalten haben.

Es gibt mehrere Probleme mit diesem Code (entnommen aus einem Kommentar, den Sie hinterlassen haben).

Erstens werden drei Ihrer Deklarationen nicht in Anführungszeichen gesetzt und als Konstanten behandelt.

Die PHP-Fehlerberichterstattung hätte Hinweise auf undefinierte Konstanten ausgegeben.

Diese werden als Konstanten behandelt:

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

Sie verweisen auch auf die falsche Variable für den Benutzernamen $user das sollte $username sein . Die Fehlerberichterstattung hätte einen undefinierten Variablenhinweis signiert.

Dann mischen Sie mysql_ mit mysqli_ Syntax. Diese verschiedenen MySQL-APIs mischen sich NICHT. Sie müssen im gesamten Code dasselbe verwenden.

Nebenbemerkung:Die andere Frage, die Sie gestellt haben Zugriff verweigert für Benutzer 'test123'@'192.168.0.38' (mit Passwort:NEIN) Sie verwenden sql306.byethost31.com für den Gastgeber. Stellen Sie sicher, dass das richtig ist. Ich habe keine Ahnung, welche Einstellungen dieser Host von Ihnen verlangt.

<?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...!!"; 
     }
?>

oder verwenden Sie einfach alle vier Parameter:

<?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); 
     }
?>

Ihr else jedoch das mit dem echo hilft dir nicht weiter. Verwenden Sie mysqli_error() um den eigentlichen Fehler zu bekommen.

D.h.:or die("Error " . mysqli_error($a));

Beispiel aus dem Handbuch

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

Referenzen:

Fügen Sie Fehlerberichterstattung hinzu an den Anfang Ihrer Datei(en), um Fehler zu finden.

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

// rest of your code

Nebenbemerkung: Das Anzeigen von Fehlern sollte nur im Staging und niemals in der Produktion erfolgen