Cauca 0 Denunciar post Postado Outubro 26, 2007 Olá pessoal, não é fácil ser estudante mas vamos lááá Quero agradecer a ajuda de todos ! quero fazer uma consulta no meu db , peguei a lógica mas esta dando erro ! alguém pode analisar o erro ? -Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in F:\wamp\www\omega\consulta.php on line 35 obrigado de coração Abraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Cauca Segue Codigos <?php $searchtype = $_POST['searchtype']; $searchterm = $_POST['searchterm']; $searchterm= trim($searchterm); if (!$searchtype || !$searchterm ) { echo 'você não entrou com os dados.clique em home para voltar'; exit; } $searchtype = addslashes ('$searchtype'); $searchterm = addslashes ('$searchterm'); $msg[0] = "Conexão com o banco falhou!"; $msg[1] = "Não foi possível selecionar o banco de dados!"; $conexao = mysql_pconnect("localhost","omega","omega") or die($msg[0]); mysql_select_db("omega",$conexao) or die($msg[1]); $query = "SELECT * FROM cadastro where ".$searchtype." like '%".$searchterm."%'"; $result = mysql_query($query); $num_results = mysql_num_rows($result); echo '<p> Nome da empresa localizada :'.$num_results.'</p>'; for ($i=0; $i <$num_results; $i++) { $row = mysql_fetch_array ($result); echo'<p><strong>' .($i+1).'. Nome:'; echo htmlspecialchars (stripslashes($row['nome'])); echo '</strong><br />Endereco:'; echo stripslashes ($row['endereco']); echo '</strong><br />Cidade:'; echo stripslashes ($row['cidade']); echo '</p>'; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
slipce 0 Denunciar post Postado Outubro 26, 2007 Esse erro costuma dar quando a query está errado, só estou achando curioso que não esteja dando erro no mysql_query. Em todo caso coloque um or die no mysql_query e peça para mostrar o erro, só pra ver se ele vai passar. $result = mysql_query($query); Compartilhar este post Link para o post Compartilhar em outros sites
slipce 0 Denunciar post Postado Outubro 26, 2007 Esse erro costuma dar quando a query está errado, só estou achando curioso que não esteja dando erro no mysql_query. Em todo caso coloque um or die no mysql_query e peça para mostrar o erro, só pra ver se ele vai passar. $result = mysql_query($query); Compartilhar este post Link para o post Compartilhar em outros sites
Guybrush 0 Denunciar post Postado Outubro 26, 2007 Esse erro costuma dar quando a query está errado, só estou achando curioso que não esteja dando erro no mysql_query. Em todo caso coloque um or die no mysql_query e peça para mostrar o erro, só pra ver se ele vai passar. $result = mysql_query($query);Testando primeiro se a query foi executado com sucesso:$query = "SELECT * FROM cadastro where ".$searchtype." like '%".$searchterm."%'";$result = mysql_query($query);if ($result){ $num_results = mysql_num_rows($result); echo '<p> Nome da empresa localizada :'.$num_results.'</p>';} else { die ('Erro ao execultar query: ' . mysql_error ());} Compartilhar este post Link para o post Compartilhar em outros sites
Cauca 0 Denunciar post Postado Outubro 27, 2007 Esse erro costuma dar quando a query está errado, só estou achando curioso que não esteja dando erro no mysql_query. Em todo caso coloque um or die no mysql_query e peça para mostrar o erro, só pra ver se ele vai passar. $result = mysql_query($query); Testando primeiro se a query foi executado com sucesso: $query = "SELECT * FROM cadastro where ".$searchtype." like '%".$searchterm."%'"; $result = mysql_query($query); if ($result){ $num_results = mysql_num_rows($result); echo '<p> Nome da empresa localizada :'.$num_results.'</p>'; } else { die ('Erro ao execultar query: ' . mysql_error ()); } Obrigado pessoal pela ajuda ! O erro que deu ao executar o script acima foi este : Erro ao execultar query: Unknown column '$searchtype' in 'where clause' Alguma idéia ? Obrigado Abraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Cauca Compartilhar este post Link para o post Compartilhar em outros sites
jonata 0 Denunciar post Postado Outubro 27, 2007 TIRE AS APAS DUPLAS DEIXANDOI ASSIM: $query = "SELECT * FROM cadastro WHERE $searchtype LIKE %$searchterm% "; $result = mysql_query($query); Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Outubro 27, 2007 TIRE AS APAS DUPLAS DEIXANDOI ASSIM: $query = "SELECT * FROM cadastro WHERE $searchtype LIKE %$searchterm% "; $result = mysql_query($query); Correto ! Ou então fazes da maneira direta que é melhor: PHP $query =mysql_query("SELECT * FROM cadastro WHERE $searchtype LIKE %$searchterm% ")or die("Erro na consulta" .mysql_error()); Abraço ;) Compartilhar este post Link para o post Compartilhar em outros sites
Cauca 0 Denunciar post Postado Outubro 27, 2007 TIRE AS APAS DUPLAS DEIXANDOI ASSIM: $query = "SELECT * FROM cadastro WHERE $searchtype LIKE %$searchterm% "; $result = mysql_query($query); Correto ! Ou então fazes da maneira direta que é melhor: PHP $query =mysql_query("SELECT * FROM cadastro WHERE $searchtype LIKE %$searchterm% ")or die("Erro na consulta" .mysql_error()); Abraço ;) Valeu amigos , tive que colocar em astas simples : $query = ("SELECT * FROM cadastro where '$searchtype' like '%$searchterm%' ") or die ("Erro na consulta" .mysql_error()); mas outro problema agora ele só me passa o valor 0 como resposta , como se não achasse nenhum ! o que pode ser desta vez ? Abraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Paulo Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Outubro 27, 2007 Substitua uma parte do teu código que corresponde as linhas abaixo: PHP if (!$searchtype || !$searchterm ){ echo "você não entrou com os dados. Clique em home para voltarn<script>history.back()</script>"; exit; } $searchtype = addslashes ('$searchtype'); $searchterm = addslashes ('$searchterm'); $msg[0] = "Conexão com o banco falhou!"; $msg[1] = "Não foi possível selecionar o banco de dados!"; $conexao = mysql_pconnect("localhost","omega","omega") or die($msg[0]); mysql_select_db("omega",$conexao) or die($msg[1]); $query = mysql_query("SELECT * FROM cadastro where '$searchtype' like '%$searchterm%'"; $num_results = mysql_num_rows($query); echo "<p> Nome da empresa localizada : "$num_results"</p>"; Outra coisa, não seria melhor tu listar todos os nomes das empresas que começam com "tal" letra ? se quiser fazer me fala, que irei te dar um explicação, pois muitos não acertam fazer porque se embola na parte do LIKE. Compartilhar este post Link para o post Compartilhar em outros sites
Cauca 0 Denunciar post Postado Outubro 27, 2007 Substitua uma parte do teu código que corresponde as linhas abaixo: PHP if (!$searchtype || !$searchterm ){ echo "você não entrou com os dados. Clique em home para voltarn<script>history.back()</script>"; exit; } $searchtype = addslashes ('$searchtype'); $searchterm = addslashes ('$searchterm'); $msg[0] = "Conexão com o banco falhou!"; $msg[1] = "Não foi possível selecionar o banco de dados!"; $conexao = mysql_pconnect("localhost","omega","omega") or die($msg[0]); mysql_select_db("omega",$conexao) or die($msg[1]); $query = mysql_query("SELECT * FROM cadastro where '$searchtype' like '%$searchterm%'"; $num_results = mysql_num_rows($query); echo "<p> Nome da empresa localizada : "$num_results"</p>"; Outra coisa, não seria melhor tu listar todos os nomes das empresas que começam com "tal" letra ? se quiser fazer me fala, que irei te dar um explicação, pois muitos não acertam fazer porque se embola na parte do LIKE. Obrigado pela ajuda irmão ! com este codigo <?php $searchtype = $_POST['searchtype']; $searchterm = $_POST['searchterm']; $searchterm= trim($searchterm); if (!$searchtype || !$searchterm ) { echo "você não entrou com os dados. Clique em home para voltar\n<script>history.back()</script>"; exit; } $searchtype = addslashes ('$searchtype'); $searchterm = addslashes ('$searchterm'); $msg[0] = "Conexão com o banco falhou!"; $msg[1] = "Não foi possível selecionar o banco de dados!"; $conexao = mysql_pconnect("localhost","omega","omega") or die($msg[0]); mysql_select_db("omega",$conexao) or die($msg[1]); $query = mysql_query("SELECT * FROM cadastro where '$searchtype' like '%$searchterm%'"); $num_results = mysql_num_rows($query); echo "<p> Nome da empresa localizada : \"$num_results\"</p>"; echo '<p> Nome da empresa localizada :'.$num_results.'</p>'; for ($i=0; $i <$num_results; $i++) { $row = mysql_fetch_array ($result); echo'<p><strong>' .($i+1).'. Nome:'; echo htmlspecialchars (stripslashes($row['nome'])); echo '</strong><br />Endereco:'; echo stripslashes ($row['endereco']); echo '</strong><br />Cidade:'; echo stripslashes ($row['cidade']); echo '</p>'; } ?> o resultado foi este Nome da empresa localizada : "0" Nome da empresa localizada :0 Abraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Cauca Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Outubro 27, 2007 PHP $contar_busca=substr($searchterm, 0,2); $query = mysql_query("SELECT * FROM cadastro where '$searchtype' like '$contar_busca%'"; $num_results = mysql_num_rows($query); echo "<p> Nome da empresa localizada : "$num_results"</p>"; Tenta ai novamente, caso não ocorra tudo bem, entr em contato comigo por MP ;) Compartilhar este post Link para o post Compartilhar em outros sites
Cauca 0 Denunciar post Postado Outubro 27, 2007 PHP $contar_busca=substr($searchterm, 0,2); $query = mysql_query("SELECT * FROM cadastro where '$searchtype' like '$contar_busca%'"; $num_results = mysql_num_rows($query); echo "<p> Nome da empresa localizada : "$num_results"</p>"; Tenta ai novamente, caso não ocorra tudo bem, entr em contato comigo por MP ;) Obrigado pela força Erro de syntax agora : Parse error: syntax error, unexpected ';' in F:\wamp\www\omega\consulta.php on line 34 Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Cobra 0 Denunciar post Postado Outubro 27, 2007 echo "<p> Nome da empresa localizada : "$num_results"</p>"; Falta o ponto (.) antes e depois da variável, para concatenação da string com a variável. Assim: echo "<p> Nome da empresa localizada : ".$num_results."</p>"; Compartilhar este post Link para o post Compartilhar em outros sites
Cauca 0 Denunciar post Postado Outubro 27, 2007 echo "<p> Nome da empresa localizada : "$num_results"</p>"; Falta o ponto (.) antes e depois da variável, para concatenação da string com a variável. Assim: echo "<p> Nome da empresa localizada : ".$num_results."</p>"; Isso Bruno Obrigado , mas agora sim - este código está cada vez mais loco : Olha o erro que deu agora queria saber aonde esta cetado a variavel $result ? segue o codigo e o erro : Abraço http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Cauca <?php $searchtype = $_POST['searchtype']; $searchterm = $_POST['searchterm']; $searchterm= trim($searchterm); if (!$searchtype || !$searchterm ) { echo "você não entrou com os dados. Clique em home para voltar\n<script>history.back()</script>"; exit; } $searchtype = addslashes ('$searchtype'); $searchterm = addslashes ('$searchterm'); $msg[0] = "Conexão com o banco falhou!"; $msg[1] = "Não foi possível selecionar o banco de dados!"; $conexao = mysql_pconnect("localhost","omega","omega") or die($msg[0]); mysql_select_db("omega",$conexao) or die($msg[1]); $contar_busca=substr($searchterm, 0,2); $query = mysql_query("SELECT * FROM cadastro where '$searchtype' like '$contar_busca%'"); $num_results = mysql_num_rows($query); echo "<p> Nome da empresa localizada : ".$num_results."</p>"; for ($i=0; $i <$num_results; $i++) { $row = mysql_fetch_array ($result); echo'<p><strong>' .($i+1).'. Nome:'; echo htmlspecialchars (stripslashes($row['nome'])); echo '</strong><br />Endereco:'; echo stripslashes ($row['endereco']); echo '</strong><br />Cidade:'; echo stripslashes ($row['cidade']); echo '</p>'; } ?> Resultado obtido Nome da empresa localizada : 6 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in F:\wamp\www\omega\consulta.php on line 44 1. Nome: Endereco: Cidade: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in F:\wamp\www\omega\consulta.php on line 44 2. Nome: Endereco: Cidade: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in F:\wamp\www\omega\consulta.php on line 44 3. Nome: Endereco: Cidade: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in F:\wamp\www\omega\consulta.php on line 44 4. Nome: Endereco: Cidade: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in F:\wamp\www\omega\consulta.php on line 44 5. Nome: Endereco: Cidade: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in F:\wamp\www\omega\consulta.php on line 44 6. Nome: Endereco: Cidade: Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Cobra 0 Denunciar post Postado Outubro 27, 2007 Pelo que vi, a variável $result não existe. Creio que queiras usar a variável $query naquele local, tente fazer isso. Compartilhar este post Link para o post Compartilhar em outros sites
Cauca 0 Denunciar post Postado Outubro 27, 2007 Pelo que vi, a variável $result não existe. Creio que queiras usar a variável $query naquele local, tente fazer isso. Obrigado amigo se eu usar a $query ele me da o resultado de todas as colunas e tabelas : como no exemplo abaixo , e anula a consulta ! Resultado obtido Nome da empresa localizada : 6 Abraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Cauca 1. Nome:paulo Endereco:major Cidade:Curitiba 2. Nome:roberto Endereco:fran硼/strong> Cidade:Curitiba 3. Nome:marcelo uaska Endereco:gomes Cidade:Curitiba 4. Nome:Marcos Endereco:rua alcides Cidade:Fazenda Rio Grande 5. Nome:Patricia Endereco:emilio prhomann Cidade:S㯠Mateus do sul 6. Nome:Rosemar Endereco:rodolfo wolff do ama Cidade:Maringa Compartilhar este post Link para o post Compartilhar em outros sites
Cauca 0 Denunciar post Postado Outubro 27, 2007 Como no livro , coloquei o result assim : $contar_busca=substr($searchterm, 0,2); $query = mysql_query("SELECT * FROM cadastro where '$searchtype' like '$contar_busca%'"); $result = mysql_query($query); $num_results = mysql_num_rows($result); echo "<p> Nome da empresa localizada : ".$num_results."</p>"; for ($i=0; $i <$num_results; $i++) { $row = mysql_fetch_array ($result); echo'<p><strong>' .($i+1).'. Nome:'; echo htmlspecialchars (stripslashes($row['nome'])); echo '</strong><br />Endereco:'; echo stripslashes ($row['endereco']); echo '</strong><br />Cidade:'; echo stripslashes ($row['cidade']); echo '</p>'; } mas deu erro de syntax: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in F:\wamp\www\omega\consulta.php on line 38 Nome da empresa localizada : Abraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Cauca Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Cobra 0 Denunciar post Postado Outubro 27, 2007 Deu erro pois você está utilizando duas vezes o mysql_query. Não pode fazer isso. Deixe, então, simplesmente dessa forma: $result = mysql_query("SELECT * FROM cadastro where '$searchtype' like '$contar_busca%'"); $num_results = mysql_num_rows($result); Assim, apague a linha que contém a variável $query; Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Outubro 27, 2007 Eita... errei na hora que te passei o script amigo, perdão ai... ! Caso não consiga arrumar com o pessoal que ta te ajudando, me manda a MP com os códigos que irei trabalhar nesse script pra tu, abração. Compartilhar este post Link para o post Compartilhar em outros sites
Cauca 0 Denunciar post Postado Outubro 29, 2007 Deu erro pois você está utilizando duas vezes o mysql_query. Não pode fazer isso. Deixe, então, simplesmente dessa forma: $result = mysql_query("SELECT * FROM cadastro where '$searchtype' like '$contar_busca%'"); $num_results = mysql_num_rows($result); Assim, apague a linha que contém a variável $query; Bruno , Alterei o codigo e ficou da seguinte forma : - Mas qundo eu peço uma consulta agora , ele aparece todos os dados de todo mundo (não está filtrando a consulta ) Obrigado Abraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Cauca <?php $searchtype = $_POST['searchtype']; $searchterm = $_POST['searchterm']; $searchterm= trim($searchterm); if (!$searchtype || !$searchterm ) { echo "você não entrou com os dados. Clique em home para voltar\n<script>history.back()</script>"; exit; } $searchtype = addslashes ('$searchtype'); $searchterm = addslashes ('$searchterm'); $msg[0] = "Conexão com o banco falhou!"; $msg[1] = "Não foi possível selecionar o banco de dados!"; $conexao = mysql_pconnect("localhost","omega","omega") or die($msg[0]); mysql_select_db("omega",$conexao) or die($msg[1]); $contar_busca=substr($searchterm, 0,2); $result = mysql_query("SELECT * FROM cadastro where '$searchtype' like '$contar_busca%'"); $num_results = mysql_num_rows($result); echo "<p> Nome da empresa localizada : ".$num_results."</p>"; for ($i=0; $i <$num_results; $i++) { $row = mysql_fetch_array ($result); echo'<p><strong>' .($i+1).'. Nome:'; echo htmlspecialchars (stripslashes($row['nome'])); echo '</strong><br />Endereco:'; echo stripslashes ($row['endereco']); echo '</strong><br />Cidade:'; echo stripslashes ($row['cidade']); echo '</p>'; } ?> Compartilhar este post Link para o post Compartilhar em outros sites