explore 3 Denunciar post Postado Junho 21, 2005 ai pessoal sei o basico de php e eu to fazendo uma consulta aqui e ta dando o seguinte erro: Parse error: parse error in c:\phpdev\private\teste.php online 12 a linha 12 é um Select normal PHP [*]$sql = "SELECT * FROM colunistas"; vo postar o codigo todo PHP [*]<?php [*] [*]$bd = "COLUNISTAS"; //Nome no Banco de Dados [*]$login = ""; // Nome do Usuario [*]$pass = ""; // senha [*]$host = "localhost"; //Nome o servidor [*] [*]$con=mysql_connect("$host","$login","$pass") or Die('erro 100 - Falha na Conexão'); [*] [*]$con2=mysql_select_db("$bd") or die(' Erro 102 - Falha ao Abrir Banco de Dados') [*] [*]$sql = "SELECT * FROM colunistas where 1"; [*]$even = mysql_query($sql) or die('falha ao Abrir !!');; [*]$num_row = mysql_num_rows($even); [*] [*]if($num_row < 1){ [*]Echo "Nada encontrado"; [*]} [*]do { [*]($even_inf = mysql_fetch_array($even)) [*]} while [*] $nome = $even_inf['nome']; [*]?> [*] [*]Mostra [*] [*]<? [*]} [*]?> Valeuuuuuuuuuu Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Junho 21, 2005 O erro está na linha 10, falta o ; no final.Outra pergunta: Sua select está correta ?!? Compartilhar este post Link para o post Compartilhar em outros sites
Nícolas 4 Denunciar post Postado Junho 22, 2005 ai cara, só de bater o olha ja vi 3 erros. Linha 12: $sql = "SELECT * FROM colunistas where 1"; Você não ta sabento utilizar o where. Retirado de uma outra resposta minha em outro tópico Erro na linha 5:$consulta = mysql_query("SELECT * FROM floridas WHERE '$mes' LIKE 'x' ORDER BY 'familia'"); Ai cara você fez mó gororoba aqui, no WHERE você deve (WHERE campo = '$valordocampo') ou (WHERE campo Like '%$palavra%') Quando você quer buscar algo para trazer o resultado puro, utilize a primeira forma, a segunda é mais para sistema de busca, aonde você digita a palavra e ele traz o resultado. Exemplo: se coloco para buscar a letra "a" PHP [*]$consulta = mysql_query("SELECT * FROM floridas WHERE campo LIKE '%a%' ORDER BY familia"); Ele vai pegar tudo que contenha a letra a nele, sozinha ou incluido na frase. Agora se coloco da outra forma PHP [*]$consulta = mysql_query("SELECT * FROM floridas WHERE campo = 'a' ORDER BY familia"); A frase pode ter 500 as, mas ela não retorna nada, apenas valor absoluto. Se tiver escrito uma frase neste campo, você pode digitar metade dela exatamente como está mas ela não encontra nada, ja do outro jeito se você digita uma letra ele ja retorna. Nesta linha tem um erro tb no order by, ele não precisa de apóstrofo, apóstrofo serão utilizados apenas para valores, e ali não seria um valor e sim um campo. Erro na linha 13 $even = mysql_query($sql) or die('falha ao Abrir !!');; Tem 2 pontos e virgulas. Erro nas linhas 16 a 28 if($num_row < 1){ Echo "Nada encontrado"; } do { ($even_inf = mysql_fetch_array($even)) } while $nome = $even_inf['nome']; ?> Mostra <? } Ai cara, oque é isso que você fez aqui??? Dica: evite usar o do while, pois você vai acabar se embolando todo, utilize mais o while para os loops Aqui você abriu i if colocou se o numero de linhas for menor que 1 vai mostrar não encontrado, até ai tudo bem, mas ai você fechou o if, não colocou o else (Caso tenha resultado na tabela para ele fazer o loop) A extrutura do do while é assim $i = 0;do{$i++}while ($i > 10);Oque você fez foi isso do{($i > 10)}while$i = 0;Se acabou se confundindo todo. Sem falar que depois você abriu e fechou as tags php colocou mostrar fechou e tacou uma } (chave) que não fecha em nada, só você prestar atenção. if($num_row < 1){ Echo "Nada encontrado"; } do { ($even_inf = mysql_fetch_array($even)) } while $nome = $even_inf['nome']; ?> Mostra <? } // Este aqui ta fechando oque??? E uma dica, não utilize apótrofos pra buscar valores de variaveis. Erro linha 22: $nome = $even_inf['nome']; Resposta minha de um outro tópico Erro na linha 4: $mes = $_POST['mes']; Tava com apóstrofo na variavel ao invez de aspas duplas $variavel = "Teste"; echo $variavel; // imprime teste echo "$variavel"; // imprime teste echo '$variavel'; // imprime $variavel Ou seja ele estava imprimindo mes não o valor dele.Seu código ficaria mais certo, legivel e menos confuso se estivesse assim: Seria bem mais facil vou utilizar o while O certo seria seu código ficar assim: PHP [*]if($num_row < 1){ [*]echo "Não foi encontrado dados"; [*]}else{ [*]while($even_inf = mysql_fetch_array($even)){ [*]$nome = $even_inf["nome"]; [*] [*]echo $nome; [*]} [*]} E detalhe, se você for fazer uma busca no id, como vai retornar um unico resultado não precisa do while. PHP [*]if($num_row < 1){ [*]echo "Não foi encontrado dados"; [*]}else{ [*]$even_inf = mysql_fetch_array($even) [*]$nome = $even_inf["nome"]; [*] [*]echo $nome; [*]} [*]} Ai, espero ter ajudado, qualquer dúvida pode contar comigo. Dica: Evite utilizar nomes em inglês e/ou comprido que você acabe se esquecendo. Faça como eu. Quando vou pergar alguns dados na tabela geralmente utilizo: PHP [*]$dados = mysql_query("SELECT * FROM tabela"); [*] [*]while ($hp = mysql_fetch_array($dados)){ [*]$nome = $hp["nome"]; [*]$sobrenome = $hp["sobrenome"]; [*] [*]echo $nome ."|". $sobrenome; [*]} Flw ai cara, boa sorte :lol: Compartilhar este post Link para o post Compartilhar em outros sites