Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

caiocafardo

Erro "Nenhum banco de dados foi selecionado"

Recommended Posts

Galera, algo muito estranho está acontecendo:

Estava atualizando umas coisas em um site e do nada começou a dar erro, no arquivo de conexão não ocorre erro nenhum, ele conecta certinho, aí no Select ele da erro, fui ver qual era o erro com echo mysql_error();, e aparece os seguinte erro:

Nenhum banco de dados foi selecionado

Mas o engraçado é que não mudei nada, na parte administrativa o site funciona 100%, peguei até o arquivo de conexão dele para ver se era isso e continua dando esse erro, ta dando erro em todas as telas que tem algum SELECT, até em telas que não alterei nada.... muito estranho, alguma ideia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, então, olha que loucura, fiz um arquivo teste, coloquei ele na raiz do site e em uma pasta /admin, no admin não da erro, na pasta raiz da....

$host = "xx";
$user = "xx";
$pass = "xx";
$banco = "xx";
$conecta = mysql_connect($host, $user, $pass) or die (mysql_error());
mysql_select_db($banco);
//
$sqllinhas = "SELECT * FROM linha_equipamento";
$resultlinhas = mysql_query($sqllinhas);

O erro que da:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/loc7equipamentos/www/teste.php on line 6

 

E se eu dou um mysql_error() para saber o porque, ele da isso:

Nenhum banco de dados foi selecionado

Nunca vi algo tão estranho....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a diferença entre a parte administrativa e a parte atual? Certifique-se de que a database está correta (mysql_select_db()).

 

Caso o erro persista, cole o código sem as informações de servidor, usuário e senha.

 

Veja se o [inline]$banco[/inline] está certo, pois na linha 6 está o [inline]mysql_select_db($banco);[/inline].

 

 

Se estiver utilizando o PHP, acredito que esteja utilizando um include... [inline]include("teste.php");[/inline], veja também se a referência está correta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque [inline] or die (mysql_error());[/inline] em todas as operações no MySQL, assim tudo que der erro, será conhecido.

$host = "xx";
$user = "xx";
$pass = "xx";
$banco = "xx";
$conecta = mysql_connect($host, $user, $pass) or die (mysql_error());
mysql_select_db($banco) or die (mysql_error());
//
$sqllinhas = "SELECT * FROM linha_equipamento";
$resultlinhas = mysql_query($sqllinhas) or die (mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então o "erro" está no SELECT, mas o engraçado é que só da esse erro na raiz do site, em qualquer outra pasta não, nunca vi um erro desses, meio que inexplicável , não?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim! Mas o que não sabemos é se está dando o erro no momento de selecionar o db, por isso o [inline]mysql_select_db($banco) or die(mysql_error());[/inline]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei, da esse erro: Acesso negado para o usuário 'loc7equipament01'@'%' ao banco de dados 'loc7equipament01'

 

O que é esse @%??

O script de conexão ta assim:

$host = "mysql03-farm31.uni5.net";
$user = "loc7equipament01";
$pass = "XXX";
$banco = "loc7equipament01";
$conecta = mysql_connect($host, $user, $pass) or die (mysql_error());
mysql_select_db($banco) or die(mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites
$host = "(...)";

$user = "(...)";

$pass = "(...)";

$banco = "loc7equipament01";

$conecta = mysql_connect($host, $user, $pass) or die (mysql_error());

mysql_select_db($banco) or die(mysql_error());

 

 

Não coloque nunca informações importantes do servidor...

 

 

Bom, não sei dizer exatamente o que significa o '%', acho que quer dizer que o usuário pode acessar tanto localhost como externo, acho.

 

Isso aí já é permissões de usuário, dê um [inline]SHOW GRANTS 'loc7equipament01'@'%'[/inline] para ver as permissões do usuário.

Aqui um link interessante.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, obrigado pelas ajudas!

Eu colocaria onde essa linha?


Bom, não sei se mais alguém estava acompanhando este tópico, mas o erro era no servidor, na merda do KingHost.

Eu tive que instalar um novo banco e tudo foi solucionado.

Valeu pela ajuda Lokaodomau!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.