Ir para conteúdo

POWERED BY:

Arquivado

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

explore

php

Recommended Posts

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

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

×

Informação importante

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