Pregunta

que había estado haciendo una web en el servidor local y cuando traté de moverlo en el host que me muestra un montón de errores. Parece que no se puede conectar a mi base de datos local. Aquí está el código:

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

Y aquí está la salida:

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: 

Gracias por la ayuda

¿Fue útil?

Solución

Es un problema mysql usuario permiso. Crear un nuevo usuario con phpmyadmin por ejemplo y configurarlo de acogida a localhost si se conecta desde localhost, o% si se conecta desde fuera.

Otros consejos

Como se ha indicado correctamente Alekc, se trata de un problema de permisos:

Usted puede hacer esto en el indicador de MySQL:

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

Seguido de un:

flush privileges;

Y a continuación, intente volver a conectar de nuevo. Tenga en cuenta que:

your_ip_adress: (¿su servidor web) es no la dirección IP del servidor MySQL, pero la dirección IP que se conecta desde su_contraseña: es la que se debe utilizar cuando se establece la conexión en el lado de PHP

Asimismo, recuerda que, a pesar de que esta solución debería funcionar, no es recomendable concesión todos los privilegios a un usuario que será utilizado por una aplicación web. Puede hacer lo mismo con menos permisos.

Usted puede hacer todo esto con una bonita interfaz gráfica. Yo prefiero la línea de comandos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top