daniel piccoli 0 Denunciar post Postado Maio 20, 2012 Bom dia pessoal, Tenho o Ubuntu 12.04, rodando com o apache2, mysql e php5. Fiz as instalações via central de programas e a princípio está tudo rodando. Tenho o apache rodando, o mysql eu acesso via terminal e rodo consultas normalmente. O php já fiz o teste com o [phpinfo();] e exibe as informações (também instalei o php5-mysql para usar com o mysql via central de programas). O problema é que eu não consigo rodar consultas no mysql via php e acho que nem a conexão consigo fazer. Fiz um teste usando o login e senha errados e não retorna a mensagem de erro que coloquei no die. No banco de dados que criei para usar com esse sistema que estou programando, eu passei os grants ao root para evitar erros de permissão (usei como root@'%'). Alguém já enfrentou problema parecido e tem alguma dica? Estou sendo obrigado a usar o windows em máquina virtual para desenvolver o sistema, pois a mesma programação nele funciona. Isso me faz desconfiar da configuração de comunicação entre php + mysql. Agradeço desde já. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Maio 20, 2012 qual mensagem de erro o MySQL retorna pro PHP? Compartilhar este post Link para o post Compartilhar em outros sites
daniel piccoli 0 Denunciar post Postado Maio 20, 2012 qual mensagem de erro o MySQL retorna pro PHP? Oi Beraldo, pois é, esse é o mais estranho. Não retorna mensagem de erro. Já tentei o mysql_error($conexao) e não retorna erro. Também usei a variável do comando sql e não retorna erro no php. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Maio 20, 2012 mas se cai no die(), tem que retornar algum erro. como está executando? tente algo assim: mysql_connect( 'server', 'user', 'pass' ) or exit( mysql_error() ); echo "OK"; qual é o resultado? Compartilhar este post Link para o post Compartilhar em outros sites
daniel piccoli 0 Denunciar post Postado Maio 20, 2012 mas se cai no die(), tem que retornar algum erro. como está executando? tente algo assim: mysql_connect( 'server', 'user', 'pass' ) or exit( mysql_error() ); echo "OK"; qual é o resultado? opa... demorei pra testar, pois tive que atender a porta aqui... bom, fiz o teste e o retorno foi o OK. A conexão foi estabelecida. Aproveitei e setei o banco de dados também e não deu erro. criei esse sql para rodar: $query= "select * from tb_funcionarios where login = 'administrador' and senha = 'admin1234'" criei essa confirmação bem simples só pra testar agora: if(!$result = mysql_query($query,$conexao)) { echo "<br>Erro<br>"; exit(); } else { if(mysql_num_rows($result) = 1){ echo "<br>O usuário foi autenticado.<br>"; } Pra surpresa, até mesmo os OKs de conexão e set do BD não retornaram. Será que é sintaxe, pode acontecer de para o windows (usando o wamp server) funcionar de um jeito e para o Linux de outro? Estou começando a usar o linux full time no meu pc, por isso ainda há dúvidas...hehehe Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Maio 20, 2012 não há diferenças de sintaxe para um SO ou outro, pois a linguagem é a mesma coloque isto no topo do script, pra habilitar todas as mensagens de erro: ini_set( 'display_errors', 1 ); error_reporting( E_ALL ); execute de novo o script e poste o resultados Compartilhar este post Link para o post Compartilhar em outros sites
daniel piccoli 0 Denunciar post Postado Maio 20, 2012 opa... demorei pra testar, pois tive que atender a porta aqui... bom, fiz o teste e o retorno foi o OK. A conexão foi estabelecida. Aproveitei e setei o banco de dados também e não deu erro. criei esse sql para rodar: $query= "select * from tb_funcionarios where login = 'administrador' and senha = 'admin1234'" criei essa confirmação bem simples só pra testar agora: if(!$result = mysql_query($query,$conexao)) { echo "<br>Erro<br>"; exit(); } else { if(mysql_num_rows($result) = 1){ echo "<br>O usuário foi autenticado.<br>"; } Pra surpresa, até mesmo os OKs de conexão e set do BD não retornaram. Será que é sintaxe, pode acontecer de para o windows (usando o wamp server) funcionar de um jeito e para o Linux de outro? Estou começando a usar o linux full time no meu pc, por isso ainda há dúvidas...hehehe opa Beraldo, cara, valeu mesmo pela força. a gente falando sobre esse erro e com as sugestões de testes, acho que encontrei o erro... eu acredito que esteja em um encadeamento de if que fiz no php... testei com essa forma abaixo e rodou direitinho: if(!$result = mysql_query($query,$conexao)) { echo "<br>Erro de Sistema<br>"; exit(); } else { if(mysql_num_rows($result) == 1){ echo "<br>O usuário foi localizado<br>"; exit(); } } devo ter me perdido em fechar chaves ou algo do tipo... valeu pela força e qualquer coisa estamos aí... abração não há diferenças de sintaxe para um SO ou outro, pois a linguagem é a mesma coloque isto no topo do script, pra habilitar todas as mensagens de erro: ini_set( 'display_errors', 1 ); error_reporting( E_ALL ); execute de novo o script e poste o resultados opa, não tinha visto essa tua resposta. pior que foi erro meu mesmo (encadeei errado os if para teste de retorno e rodagem da query no php), a dúvida é pq roda no windows (wamp server 2.21) e não rodou no linux. tenho que me puxar mais no esquema..hehehe obrigado pela ajuda... Compartilhar este post Link para o post Compartilhar em outros sites