Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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>';
}
?>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);
> 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 ());}>
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
TIRE AS APAS DUPLAS DEIXANDOI ASSIM:
$query = "SELECT * FROM cadastro WHERE $searchtype LIKE %$searchterm% ";
$result = mysql_query($query);>
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 ;)
>
>
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
Substitua uma parte do teu código que corresponde as linhas abaixo:
PHP
if (!$searchtype || !$searchterm ){
[echo](http://br.php.net/echo) "você não entrou com os dados. Clique em home para voltarn<script>history.back()</script>";
[exit](http://br.php.net/exit);
}
$searchtype = [addslashes](http://br.php.net/addslashes) ('$searchtype');
$searchterm = [addslashes](http://br.php.net/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](http://br.php.net/mysql_pconnect)("localhost","omega","omega") or [die](http://br.php.net/die)($msg[0]);
[mysql_select_db](http://br.php.net/mysql_select_db)("omega",$conexao) or [die](http://br.php.net/die)($msg[1]);
$query = [mysql_query](http://br.php.net/mysql_query)("SELECT * FROM cadastro where '$searchtype' like '%$searchterm%'";
$num_results = [mysql_num_rows](http://br.php.net/mysql_num_rows)($query);
[echo](http://br.php.net/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.
>
Substitua uma parte do teu código que corresponde as linhas abaixo:
PHP
if (!$searchtype || !$searchterm ){
[echo](http://br.php.net/echo) "você não entrou com os dados. Clique em home para voltarn<script>history.back()</script>";
[exit](http://br.php.net/exit);
}
$searchtype = [addslashes](http://br.php.net/addslashes) ('$searchtype');
$searchterm = [addslashes](http://br.php.net/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](http://br.php.net/mysql_pconnect)("localhost","omega","omega") or [die](http://br.php.net/die)($msg[0]);
[mysql_select_db](http://br.php.net/mysql_select_db)("omega",$conexao) or [die](http://br.php.net/die)($msg[1]);
$query = [mysql_query](http://br.php.net/mysql_query)("SELECT * FROM cadastro where '$searchtype' like '%$searchterm%'";
$num_results = [mysql_num_rows](http://br.php.net/mysql_num_rows)($query);
[echo](http://br.php.net/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
PHP
$contar_busca=[substr](http://br.php.net/substr)($searchterm, 0,2);
$query = [mysql_query](http://br.php.net/mysql_query)("SELECT * FROM cadastro where '$searchtype' like '$contar_busca%'";
$num_results = [mysql_num_rows](http://br.php.net/mysql_num_rows)($query);
[echo](http://br.php.net/echo) "<p> Nome da empresa localizada : "$num_results"</p>";
Tenta ai novamente, caso não ocorra tudo bem, entr em contato comigo por MP ;)
>
PHP
$contar_busca=[substr](http://br.php.net/substr)($searchterm, 0,2);
$query = [mysql_query](http://br.php.net/mysql_query)("SELECT * FROM cadastro where '$searchtype' like '$contar_busca%'";
$num_results = [mysql_num_rows](http://br.php.net/mysql_num_rows)($query);
[echo](http://br.php.net/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
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>";>
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:
Pelo que vi, a variável $result não existe. Creio que queiras usar a variável $query naquele local, tente fazer isso.
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
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
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;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.
>
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 :
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>';
}
?>Muito obrigado pelas ajudas que já recebi !
Mas alguém poderia dar continuidade neste tópico para me ajudar ?
Muito Obrigado
Abraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Cauca
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);