miromalc 1 Denunciar post Postado Março 18, 2008 Olá pessoal. Gostaria de agradecer pelas inúmeras matérias contidas no forum que tem me ajudado a aprender um pouco sobre php e mysql. Gostaria de uma ajuda de vocês que tem experiência no assunto. Sou iniciante no assunto e estou com um desafio de construir um banco de dados com informações de produtos para consulta de informações. Instalei o wampserver (não tenho conhecimento suficiente e tempo hábil para instalar individualmente o PHP, Mysql e Apache) Criei o bd e acesso normalmente no console mysql, criando e consultando as informações contidas no bd, porém não estou conseguindo conectar o php com mysql. No entanto não me aparece nenhuma informação de erro. Só aparece a seguinte informação: Tabela constando os nomes dos campos, codigo, descricao e eletrodo. No entando não é listado os dados inseridos na tabela. A tabela deverá conter outros campos, mas por enquanto essas informações são suficientes. Versões: PHP 5.2.5, Mysql 5.0.51a, Apache 2.2.8 Por favor verifiquem o que ha de errado no código, o que falta para completá-lo ou o mesmo está errado. Por favor me ajudem se possível. <? // Mensagens de Erro $msg[0] = "Conexão com o banco falhou!"; $msg[1] = "Não foi possível selecionar o banco de dados!"; // Fazendo a conexão com o servidor MySQL $conexao = mysql_pconnect("localhost","root","") or die($msg[0]); mysql_select_db("db_acs",$conexao) or die($msg[1]); // Início da tabela ?> <table border="1"><tr> <td><b>codigo</b></td> <td><b>descricao</b></td> <td><b>eletrodo ok</b></td> </tr> <? // Consulta SQL e retornando os resultados. $query = "SELECT codigo,descricao,eletrodo FROM tbleletrodo ORDER BY codigo"; $resultado = mysql_query($query,$conexao); while ($linha = mysql_fetch_array($resultado)) { ?> <tr> <td><? echo $linha['codigo']; ?></td> <td><? echo $linha['descricao']; ?></td> <td><? echo $linha['eletrodo']; ?></td> </tr> <? } ?> </table Obrigado a todos. Compartilhar este post Link para o post Compartilhar em outros sites
Detros 0 Denunciar post Postado Março 19, 2008 Bom.. superficialmente eu nao achei erros... mas algumas coisas q eu nao usaria... 1º - <? e ?> ... use <?php e ?> isso pode solucionar muitos problemas.. ainda mais no wamp.. q eh injuadin. 2º - $conexao = mysql_pconnect("localhost","root","") or die($msg[0]); mysql_select_db("db_acs",$conexao) or die($msg[1]); ..... $resultado = mysql_query($query,$conexao); sugiro q de uma estudada a mais no pconnect... ele nao é necessario ai... imagino eu, pois nao sei seu sistema.. mas se for so isso... use mysql_connect e em.. mysql_select_db("db_acs",$conexao) or die($msg[1]); e $resultado = mysql_query($query,$conexao); seu sistema é fechado... pelo menos ai.. so avendo uma conexao.. nao é necessario ficar especificando ela... ficando assim mysql_connect("localhost","root","") or die($msg[0]); mysql_select_db("db_acs") or die($msg[1]); .... $resultado = mysql_query($query); O erro principal .. eu imagino q esteja no <? ... substitua eles por <?php .. e faça o teste ;) abraço Compartilhar este post Link para o post Compartilhar em outros sites
Renan Decarlo 2 Denunciar post Postado Março 19, 2008 Primeiro: pra que abrir e fechar tantas tags do php assim? <_< Segundo: acho que se você abrir e fechar essas tags no meio do código, compromete ele... tente usar mais o echo. Terceiro: <?, alguns servidores não aceitam isso... use <?php sempre. Quarto: checou se os campos e as tabelas na query estão certas? Quinto: o mesmo pra senha e login na conexão com o mysql... Sexto: o mysql_pconnect acho que também não é necessário... Tente usar esse código e veja se funciona... <?php // Mensagens de Erro $msg[0] = "Conexão com o banco falhou!"; $msg[1] = "Não foi possível selecionar o banco de dados!"; // Fazendo a conexão com o servidor MySQL $conexao = mysql_connect("localhost","root","") or die($msg[0]); mysql_select_db("db_acs",$conexao) or die($msg[1]); // Início da tabela echo '<table border="1"><tr> <td><b>codigo</b></td> <td><b>descricao</b></td> <td><b>eletrodo ok</b></td> </tr>'; // Consulta SQL e retornando os resultados. $query = "SELECT codigo,descricao,eletrodo FROM tbleletrodo ORDER BY codigo"; $resultado = mysql_query($query,$conexao); while ($linha = mysql_fetch_array($resultado)) { echo ' <tr> <td>'.$linha['codigo'].'</td> <td>'.$linha['descricao'].'</td> <td>'.$linha['eletrodo'].'</td> </tr>'; } echo '</table>'; ?> Compartilhar este post Link para o post Compartilhar em outros sites
miromalc 1 Denunciar post Postado Março 19, 2008 Obrigado pela ajuda Detros, realmente havia mudado para essas tags para ver se funcionava a conexão, mas você tem razão. Renan obrigado pela dica. Usei o código e pelo que vi esta correto mas, me ocorre um erro. Ao que parece a conexão ocorre, mas me retorna o seguinte erro; Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\conexao.php on line 26 A linha 26 é essa: while ($linha = mysql_fetch_array($resultado)) { Não sei o que há de errado, se puder por favor me dê uma força. Abraços e mais uma vez obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Renan Decarlo 2 Denunciar post Postado Março 19, 2008 Opa, desculpa a demora... Se não exibiu a mensagem de erro de conexão, quer dizer que o mysql conectou corretamente e que o erro é provavelmente na query. Só que isso pode ser milhares de coisas. Você precisa checar se os campos e as tabelas que você colocou na query estão corretos, sem nenhum erro de escrita: codigo, descricao e eletrodo, e a tabela tbleletrodo, e se também o campo codigo esta certo. Além disso não há muito o que a gente possa fazer... acho que isso não vai ajudar muito, mas não custa tentar... Troque essas linhas: $query = "SELECT codigo,descricao,eletrodo FROM tbleletrodo ORDER BY codigo"; $resultado = mysql_query($query,$conexao); por... $resultado = mysql_query("SELECT `codigo`,`descricao`,`eletrodo` FROM `tbleletrodo` ORDER BY `codigo`", $conexao); Compartilhar este post Link para o post Compartilhar em outros sites
miromalc 1 Denunciar post Postado Março 19, 2008 Renan, valeu mais uma vez mas continua dando o mesmo erro. Creio que seja (não sei se estou errado) o argumento "while". Tentei exibir os dados de outra db e tabela mas o erro é o mesmo. Se alguem tiver idéia do que seja fico muito grato pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
Detros 0 Denunciar post Postado Março 19, 2008 na frente da conexao coloca um or die(mysql_error()); exemplo $query = "SELECT codigo,descricao,eletrodo FROM tbleletrodo ORDER BY codigo"; $resultado = mysql_query($query,$conexao) or die(mysql_error()); e alias.. pare de usar $resultado = mysql_query($query,$conexao) :S use $resultado = mysql_query($query) or die(mysql_error()); Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Março 20, 2008 Só fazendo uma observação, sobre esse famoso erro que é pai de muitos posts aqui: ... supplied argument is not a valid MySQL result resource in ... Isso acontece quando você passa para uma função do tipo mysql_fetch_assoc, por exemplo, que espera como argumento um recurso MySQL, um valor diferente do esperado. Normalmente (90% dos casos) houve erro na execução da query, ou nem se quer houve a tentativa de executá-la (mysql_query('blábláblá')). Compartilhar este post Link para o post Compartilhar em outros sites
miromalc 1 Denunciar post Postado Março 20, 2008 Obrigado pela resosta pessoal. Detros, editei o código como você colocou e parou o erro, mas acusa "Query was empty" e só aparece os cabeçalhos de colunas. Não sei, mas derepente seja configurações de instalação ou nos .ini da vida. Já verifiquei os nosmes do bd, tabelas e campos, tudo está correto, mas o resultado do select não aparece. Se houver alguma idéia do que seja agradeço a ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
Detros 0 Denunciar post Postado Março 20, 2008 Oo certeza??? testa ai cara <?php // Mensagens de Erro $msg[0] = "Conexão com o banco falhou!"; $msg[1] = "Não foi possível selecionar o banco de dados!"; // Fazendo a conexão com o servidor MySQL $conexao = mysql_connect("localhost","root","") or die($msg[0]) or die(mysql_error()); mysql_select_db("db_acs") or die($msg[1]) or die(mysql_error()); // Início da tabela ?> <table border="1"><tr> <td><b>codigo</b></td> <td><b>descricao</b></td> <td><b>eletrodo ok</b></td> </tr> <?php // Consulta SQL e retornando os resultados. $query = "SELECT codigo,descricao,eletrodo FROM tbleletrodo ORDER BY codigo"; $resultado = mysql_query($query) or die(mysql_error()); while ($linha = mysql_fetch_array($resultado)) { ?> <tr> <td><?php echo $linha['codigo']; ?></td> <td><?php echo $linha['descricao']; ?></td> <td><?php echo $linha['eletrodo']; ?></td> </tr> <?php } ?> </table> Compartilhar este post Link para o post Compartilhar em outros sites
miromalc 1 Denunciar post Postado Abril 1, 2008 Ola Detros, desculpe o sumiço, estive com prob de saude e tive que me ausentar do trabalho por algum tempo. Cara já testei o script e só da query vazia, não entendo o que ocorre, já estava quase desistindo mas não posso. Acredito até que seja problema de config. nos arquivos .ini do mysql, php ou apache estou meio perdido em como proceder. Já desinstalei e reinstalei tudo e ainda nada. Vou continuar até achar o problema. Abraços e se houver possibilidade gostaria de continuar contando com sua ajuda. Valeu. Editado: Obrigado pela ajuda Velho, instalei o xampp e o código deu certo. Valeu pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
miromalc 1 Denunciar post Postado Abril 4, 2008 Olá pessoal. Gostaria de agradecer pela ajuda. Estou com outra dúvida e se possível gostaria da ajuda de vocês. Seguinte: De acordo com o dódigo acima faço a consulta em uma tabela e obtenho os resultados de algumas colunas porém, existe uma coluna com aplicações que contem muito texto e outra com a imagem do produto e é nesse ponto qu estou com problema. Gostaria de exibir os resultados da busca de algumas colunas e por exemplo no campo de resultado "código" do produto inserir um link para outra consulta que me retorne os dados de aplicação do produto e sua respectiva imagem. Dúvidas: Inserir o link e como faria para gerar a outra consulta com a pagina de detalhes? desde já agradeço a todos que tiverem condições de me auxiliar. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
miromalc 1 Denunciar post Postado Agosto 26, 2009 Pessoal, gostaria de agradecer as respostas, o problema foi solucionado. Obs. estou postando para que o tópico seja declarado como resolvido. Obrigado a todos Compartilhar este post Link para o post Compartilhar em outros sites