Pergunta

Eu estava fazendo uma web em localhost e quando eu tentei para movê-lo no host ele me mostra muitos erros. Parece que ele não pode se conectar ao meu banco de dados local. Aqui está o 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>";

E aqui está a saída:

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: 

Obrigado por ajuda

Foi útil?

Solução

É um problema de permissão do usuário mysql. Criar um novo usuário com phpmyadmin por exemplo, e configurá-lo do hospedeiro para localhost se você conectar de localhost, ou% se estiver a ligar a partir do exterior.

Outras dicas

Como Alekc corretamente afirmou, é um problema de permissão:

Você pode fazer isso no MySQL prompt:

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

seguido por um:

flush privileges;

E, em seguida, tentar voltar a ligar novamente. Tenha em mente que:

your_ip_adress: (servidor web) que de não endereço IP do servidor MySQL, mas o endereço IP você está se conectando a partir de your_password: é o que você deve usar ao estabelecer a conexão no lado PHP

Lembre-se também que, mesmo que esta solução deve funcionar, não é recomendável concessão todos os privilégios para um usuário que será usado por um aplicativo web. Você pode fazer o mesmo com menos permissões.

Você pode fazer tudo isso com um bom GUI frontend. Eu prefiro linha de comando.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top