• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

SLIFE

[Encerrado] Ajuda base de dados nao funcionam em Web

34 mensagens neste tópico

Boas

Sou novo no que toca a desenvolver em PHP + SQL.

Procurei na net, e encontrei algumas vídeo aulas bastante boas que me fizeram começar a tentar desenvolver algumas coisas.

Consegui efectuar ligações á base de dados, inserir, apagar e alterar.

No meu PC aparece tudo bem.

Pelo menos a parte que já desenvolvi.

Foi então que resolvi procurar um host gratuito para alojar a minha pagina e poder ver como estava a ficar e se estava com as funcionalidades que lhe estava a atribuir. (O Inserir, alterar e Apagar)

Registei-me no alojamentogratuito.com

Coloquei a minha pagina, fui ao PControl e importei a minha base de dados com o phpadmin.

E ficou mais ou menos bem.

O problema é que não consigo aceder aos dados. Isto é acho que nao está a fazer a conexão á base de dados, pois não lê, nem escreve lá!

Alterei o nome da base de dados para o novo que ele atribuem (User_nomeBasedados), mas mesmo assim não funciona.

Já alguém alojou algum site com base de dados neste host??

Consegui meter a funcionar tudo bem?

Se alguém poder me ajudar agradecia.

Cumprimentos

SLIFE

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já verificas-te a conexão à base de dados?

Posta o código para ser mais fácil ajudar-te.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que é que tens no log do PHP?

Ou não tens log? Nem mensagens para o browser?

Se tiveres acesso ao php.ini no teu servidor (duvido) ou puderes criar ficheiros .htaccess (é provável) aconselho-te a configurares o teu site de maneira a que possas ver os eventuais erros que tenham ocorrido mas não os mostres aos utilizadores normais.

http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting

Na tua máquina de desenvolvimento podes ter o php.ini (ou .htaccess) configurado diferente para ser mais cómodo detectar erros nos scripts.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já verificas-te a conexão à base de dados?

Posta o código para ser mais fácil ajudar-te.

Boas

O codigo esta da conexao esta na pagina config.php

E nao tem nada de mais, apenas a conecao:

<?

$db = mysql_connect("localhost","root","");

$dados = mysql_select_db("utilizador_basedados");

?>

Mas aqui efectua a ligação e no servidor nao!

Achas que está alguma coisa mal no codigo acima?

Cumprimentos

SLIFE

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta assim:

<?php
$db = mysql_connect("localhost","root","") or die('Erro na ligação: ' . mysql_error());
$dados = mysql_select_db("utilizador_basedados") or die('Erro na selecção da base de dados: ' . mysql_error());
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que é que tens no log do PHP?

Ou não tens log? Nem mensagens para o browser?

Se tiveres acesso ao php.ini no teu servidor (duvido) ou puderes criar ficheiros .htaccess (é provável) aconselho-te a configurares o teu site de maneira a que possas ver os eventuais erros que tenham ocorrido mas não os mostres aos utilizadores normais.

http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting

Na tua máquina de desenvolvimento podes ter o php.ini (ou .htaccess) configurado diferente para ser mais cómodo detectar erros nos scripts.

Pois nao faço a minima ideia se tenho log ou nao!

Como disse sou novo no PHP e nao percebo muito disto.

Fiz tudo como nas video aulas que vi, e funcionou bem aqui na minha maquina!

Ja colocas-te alguma coisa, alguma vez neste host?

www.alojamentogratuito.com

Nao sei porque nao esta a funcionar.

Se poderes dar uma vista de olhos, vais ver que o site esta com as imagens e tudo no sitio.

Faz adicionar nova assistencia, para veres o que mostra.

Ele passa para outra pagina, que tem as configurações do PHP.

Mas nao percebo nada do que diz lá.

Estou a horas de volta disto e nao estou a conseguir fazer nada!

Se poderes ajudar, fico-te muito agradecido

Cumprimentos

SLIFE

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta assim:

<?php
$db = mysql_connect("localhost","root","") or die('Erro na ligação: ' . mysql_error());
$dados = mysql_select_db("utilizador_basedados") or die('Erro na selecção da base de dados: ' . mysql_error());
?>

Experimentei o que me dizes mas dá-me o erro:

Erro na ligação: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Como poderei resolver isto?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se estás a tentar colocar num servidor online o user não é "root" nem a pass em branco.

É algo assim:

Utilizador: utilizador_userbd

Password: utilizador_passuser

Tens de criar o utilizador e associá-lo à base de dados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

http://www.google.com/search?q=%22Can%27t%20connect%20to%20local%20MySQL%20server%20through%20socket%22

Aparentemente o MySQL não está bem instalado/configurado no servidor que estás a usar.

A primeira ideia que eu tive ao ver o teu código foi que ele te desse "Access denied for user root" (e ainda acho que ele vai fazer isso se o problema anterior for resolvido), mas em vez de te dizer logo isso achei melhor dizer-te como é que *TU* podias saber porque é que a ligação falhava.

Não te sei dar uma solução para o socket :confused:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

http://www.google.com/search?q=%22Can%27t%20connect%20to%20local%20MySQL%20server%20through%20socket%22

Aparentemente o MySQL não está bem instalado/configurado no servidor que estás a usar.

A primeira ideia que eu tive ao ver o teu código foi que ele te desse "Access denied for user root" (e ainda acho que ele vai fazer isso se o problema anterior for resolvido), mas em vez de te dizer logo isso achei melhor dizer-te como é que *TU* podias saber porque é que a ligação falhava.

Não te sei dar uma solução para o socket :confused:

Boas não percebi a parte em que dizes que EU poderia saber porque é que a ligação falhava!

Podes me explicar?

Não estou a conseguir resolver isto.

Ja agora podes me ajudar a trocar a porta do Apache?

Ele tenta sempre ligar a porta 80, mas ja esta utilizada pelo processo inetinfo

E não consigo redireccionar para outra porta pelo exemplo 81.

Cumprimentos

SLIFE

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas não percebi a parte em que dizes que EU poderia saber porque é que a ligação falhava!

Podes me explicar?

Não estou a conseguir resolver isto.

Ja agora podes me ajudar a trocar a porta do Apache?

Ele tenta sempre ligar a porta 80, mas ja esta utilizada pelo processo inetinfo

E não consigo redireccionar para outra porta pelo exemplo 81.

Cumprimentos

SLIFE

Esse erro é no servidor ou no teu pc?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se estás a tentar colocar num servidor online o user não é "root" nem a pass em branco.

É algo assim:

Utilizador: utilizador_userbd

Password: utilizador_passuser

Tens de criar o utilizador e associá-lo à base de dados.

Mas eu nao coloquei qualquer user ou pass??

Como sei quais sao?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esse erro é no servidor ou no teu pc?

O erro inicial que pedi ajuda é no servidor!

O problema da porta do apache é na minha maquina!

Preciso redireccionar para outra porta, e nao sei como!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas não percebi a parte em que dizes que EU poderia saber porque é que a ligação falhava!

Podes me explicar?

Com certeza :confused:

Em vez de te dizer: "o ligação não se faz porque UMA RAZÃO QUALQUER"

disse-te para acrescentares o die(mysql_error()) ao código para o próprio PHP *TE* dizer qual a razão específica da ligação falhar.

Neste caso, até me correram bem as coisas ... porque a RAZÃO QUALQUER que eu te diria era errada. Foi muito melhor ter o PHP a dizer porquê.

Supoe que o problema do socket se resolvia, mas continuavas a não conseguir ligação.

Como é que eu (ou outra pessoa qualquer) podia adivinhar se era por causa de username/password errado ou base de dados não existente ou outra coisa qualquer?

Com o mysql_error() *TU* ficas a saber exactamente a razão dele não ligar (e, claro, podes dizer-nos).

Ja agora podes me ajudar a trocar a porta do Apache?

Ele tenta sempre ligar a porta 80, mas ja esta utilizada pelo processo inetinfo

E não consigo redireccionar para outra porta pelo exemplo 81.

Tens que alterar o ficheiro de configuração do Apache: httpd.conf ou ports.conf ou talvez outro ficheiro. Depende da tua configuração.

Tens lá uma linha com

Listen 80

Tens de a passar, por exemplo, a

Listen 8080

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

...

Tens que alterar o ficheiro de configuração do Apache: httpd.conf ou ports.conf ou talvez outro ficheiro. Depende da tua configuração.

Tens lá uma linha com

Listen 80

Tens de a passar, por exemplo, a

Listen 8080

Testei e não funciona. O ficheiro que tenho é o: "httpd.conf".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Com certeza :confused:

Em vez de te dizer: "o ligação não se faz porque UMA RAZÃO QUALQUER"

disse-te para acrescentares o die(mysql_error()) ao código para o próprio PHP *TE* dizer qual a razão específica da ligação falhar.

Neste caso, até me correram bem as coisas ... porque a RAZÃO QUALQUER que eu te diria era errada. Foi muito melhor ter o PHP a dizer porquê.

Supoe que o problema do socket se resolvia, mas continuavas a não conseguir ligação.

Como é que eu (ou outra pessoa qualquer) podia adivinhar se era por causa de username/password errado ou base de dados não existente ou outra coisa qualquer?

Com o mysql_error() *TU* ficas a saber exactamente a razão dele não ligar (e, claro, podes dizer-nos).

Tens que alterar o ficheiro de configuração do Apache: httpd.conf ou ports.conf ou talvez outro ficheiro. Depende da tua configuração.

Tens lá uma linha com

Listen 80

Tens de a passar, por exemplo, a

Listen 8080

Ok agora percebi o *TU*!

Sou novo, e como tal nao entendo á primeira certas afirmações.

Em relação ao Apache, tenho lá uma linha que diz:

Listen 127.0.0.1:80

Já coloquei assim:

Listen 127.0.0.1:8080

Desliguei e voltei a ligar o Apache, mas da sempre o mesmo erro.

Porta 80 ja esta a ser utilizada pelo inetinfo

Mas alguma sugestao?

E que nem a terminar o processo do inetinfo, consigo activar o Apache.

O inetinfo e muito rapido e inicia logo assim que termino o processo!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se não o conseguires desactivar, tenta passá-lo para outra porta. É sempre  uma alternativa. (Não sei se dá)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se não o conseguires desactivar, tenta passá-lo para outra porta. É sempre  uma alternativa. (Não sei se dá)

E como faço isso?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E como faço isso?

Foi o que disse, não sei se dá. Não conheço esse processo/serviço. Só disse aquilo porque podias saber fazê-lo e não te estares a lembrar dessa alternativa.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Foi o que disse, não sei se dá. Não conheço esse processo/serviço. Só disse aquilo porque podias saber fazê-lo e não te estares a lembrar dessa alternativa.

Ok

na boa!

Mao sei faze-lo!

Estou  com dificuldades em conseguir colocar o Apache a trabalhar!

Ja agora sabes a que corresponde o processo inetinfo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Google (pesquisa='inetinfo'):

inetinfo.exe is used primarily for debugging Microsoft Windows Server Internet Information Services. This program is important for the stable and secure ...
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em relação ao Apache, tenho lá uma linha que diz:

Listen 127.0.0.1:80

Já coloquei assim:

Listen 127.0.0.1:8080

Desliguei e voltei a ligar o Apache, mas da sempre o mesmo erro.

Porta 80 ja esta a ser utilizada pelo inetinfo

Verifica se não tens linhas com o "Listen 80" repetidas no httpd.conf.

Verifica se tens alguma coisa "esquisita" no resto do httpd.conf ou outros ficheiros que este inclua (estou a pensar em ServerAddress, VirtualHosts, ...)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Li esta discussão assim na diagonal.

Mas parece-me que o servidor ao qual te estás a tentar ligar não aceita ligações do teu IP. Regra geral, por motivos de segurança, os servidores de mysql costumam aceitar apenas ligações da máquina local ou de um conjunto de IPs bem identificados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Li esta discussão assim na diagonal.

Mas parece-me que o servidor ao qual te estás a tentar ligar não aceita ligações do teu IP. Regra geral, por motivos de segurança, os servidores de mysql costumam aceitar apenas ligações da máquina local ou de um conjunto de IPs bem identificados.

Boas

Mas na pagina do host (www.alojamentogratuito.com) diz que o servidor funciona plenamente em PHP+MySQL.

Porque razao nao me deixa ou nao me aceita o meu IP?

Um abraço

SLIFE

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora