Frage

es zeigt mir viele Fehler

Ich würde worden Herstellung einer Bahn auf localhost und als ich versuchte es auf dem Host zu bewegen. Scheint, wie es zu meiner lokalen Datenbank keine Verbindung herstellen kann. Hier ist der Code:

$host = "myip";
$user = "root";
$pass = "";
$db = "mydatabase";

mysql_connect($host, $user, $pass);
mysql_select_db($db);
$on = mysql_fetch_row(mysql_query("SELECT COUNT(online) FROM characters WHERE online=1"));
echo "<br>Online: $on[0]<br><br>";

Und hier ist die Ausgabe:

Warning: mysql_connect() [function.mysql-connect]: Host 'myip' is not allowed to connect to this MySQL server in * on line 46

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in * on line 48

Online: 

Vielen Dank für die Hilfe

War es hilfreich?

Lösung

Es ist ein MySQL-Benutzerberechtigungsproblem. Erstellen Sie einen neuen Benutzer mit phpMyAdmin zum Beispiel und legen es der Host auf localhost, wenn Sie von localhost verbinden, oder%, wenn Sie von außerhalb eine Verbindung herstellen.

Andere Tipps

Wie Alekc korrekt angegeben, es ist ein Berechtigungsproblem:

Sie können dies auf der MySQL-Eingabeaufforderung:

grant all privileges on mydatabase.* 
   to youruser@'your_ip_address' 
   identified by 'your_password';

Gefolgt von a:

flush privileges;

Und dann versuchen Sie es erneut zu verbinden. Beachten Sie, dass:

your_ip_adress: (? Ihr Web-Server), es ist nicht der IP-Adresse des MySQL-Servers, aber die IP-Adresse, von dem Sie verbinden your_password: ist diejenige, die Sie verwenden müssen, wenn die Verbindung auf PHP Seite Gründung

Denken Sie auch daran, dass, obwohl diese Lösung funktionieren soll, dann ist es nicht zu empfehlen Gewährung alle Privilegien für einen Benutzer, die von einer Web-Anwendung verwendet werden. Sie können das gleiche mit weniger Berechtigungen tun.

Sie können mit einem netten GUI-Frontend all dies zu tun. Ich ziehe es Befehlszeile.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top