Domanda

mi era stato facendo un web su localhost e quando ho provato a spostarlo su un host che mi mostra un sacco di errori. Sembra che non riesce a connettersi al mio database locale. Ecco il codice:

$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>";

Ed ecco l'output:

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: 

Grazie per l'aiuto

È stato utile?

Soluzione

E 'un problema di permessi utente mysql. Creare un nuovo utente con phpMyAdmin, per esempio e impostarlo dell'host localhost se ci si connette da localhost, o% se ci si connette dall'esterno.

Altri suggerimenti

Come indicato correttamente Alekc, si tratta di un problema di permessi:

È possibile farlo al prompt di MySQL:

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

Seguita da una:

flush privileges;

E quindi provare a riconnettersi di nuovo. Tenete a mente che:

your_ip_adress: (? Il vostro server web) è non l'indirizzo IP del server MySQL ma l'indirizzo IP si sta collegando da your_password: è quello che si deve utilizzare quando si stabilisce la connessione sul lato PHP

Ricorda inoltre che, anche se questa soluzione dovrebbe funzionare, non è raccomandabile concessione tutti i privilegi per un utente che verrà utilizzato da un'applicazione web. Si può fare lo stesso con un minor numero di permessi.

Si può fare tutto questo con una bella interfaccia grafica. Io preferisco riga di comando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top