Ir para conteúdo
Fórum Script Brasil
  • 0

não consigo :S


branquinho

Pergunta

bom gente... não to conseguindo fazer funcionar :S

codigo é

*********testebc.html***************

<html>

<head><title> teste banco de dados </title><head>

<body>

digite sua pesquisa <br/>

<form method="post" action="testebcs.php">

<select name="searchtype">

<option name="author">author</option>

<option name="title">Title</option>

<option name="isbn">Isbn</option>

</select>

<br/>

digite o que você quer : <input type="text" name="searchterm">

<br/>

<input type="submit" value="enviar">

</form>

</body>

</html>

********testebc.php **************** O ERRO DA NA LINHA 30 ( EM NEGRITO)

<html>

<head><title> sasuaiousa </title></head>

<body>

<?php

$searchtype = $_POST['searchtype'];

$searchterm = $_POST['searchterm'];

$searchterm = trim($searchterm);

if ( !$searchtype || !$searchterm ) {

echo 'preencha os campos';

exit;

}

$searchterm = addslashes($searchterm);

$searchtype = addslashes($searchtype);

@ $db = mysql_pconnect ('localhost','root', '');

if(!$db){

echo 'mysql não conseguio se conectar';

exit;

}

mysql_select_db('books');

$query = "select * from books where".$searchtype." like '%"$searchterm"%'";

$result = mysql_query($query);

$num_results = mysql_num_rows($result); ---------------------------- >ACUSA ERRO

echo '<p> number for books found: '.$num_results.'</p>';

for ($i; $i<$num_results; $i++) {

$row = mysql_fetch_array($result);

echo '<p><strong>'.($i+1).' Title:';

echo htmlspecialchar(stripslashes($row['title']));

echo '</strong><br /> Author: ';

echo stripslashes($row['author']);

echo '<br/> price: ';

echo stripslashes($row['price']);

echo '</p>';

}

?>

</body>

</html>

********************************************

ERRO :

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\testebcs.php on line 30

number for books found:

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

não não... disfarça... copiei antes de ressalvar ajeitado :D antes o erro era ai! :X

TESTEBCS.PHP***************

<html>

<head><title> sasuaiousa </title></head>

<body>

<?php

$searchtype = $_POST['searchtype'];

$searchterm = $_POST['searchterm'];

$searchterm = trim($searchterm);

if ( !$searchtype || !$searchterm ) {

echo 'preencha os campos';

exit;

}

$searchterm = addslashes($searchterm);

$searchtype = addslashes($searchtype);

@ $db = mysql_pconnect ('localhost','root', '');

if(!$db){

echo 'mysql não conseguio se conectar';

exit;

}

mysql_select_db('books');

$query = "select * from books where $searchtype like $searchterm ";

$result = mysql_query($query);

$num_results = mysql_num_rows($result); --------> ERRO

echo '<p> number for books found: '.$num_results.'</p>';

for ($i; $i<$num_results; $i++) {

$row = mysql_fetch_array($result);

echo '<p><strong>'.($i+1).' Title:';

echo htmlspecialchar(stripslashes($row['title']));

echo '</strong><br /> Author: ';

echo stripslashes($row['author']);

echo '<br/> price: ';

echo stripslashes($row['price']);

echo '</p>';

}

?>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

O erro continua naquela linha, se ele não retorna a quantidade de linhas é porque tem alguma coisa errada no select ;)

Tente assim, ou confira os nomes dos campos na base de dados!

$query = "select * from books where $searchtype like '%$searchterm%' ";

Link para o comentário
Compartilhar em outros sites

  • 0

não :S

agora da esse erro aki ...

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\testebcs.php on line 30

number for books found:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\testebcs.php on line 34

1 Title:

Fatal error: Call to undefined function htmlspecialchar() in C:\wamp\www\testebcs.php on line 36

Link para o comentário
Compartilhar em outros sites

  • 0
Faz o seguinte...antes do select manda printar essas duas variaveis pra ver o que esta retornando!

$searchtype e $searchterm

mysql_select_db('books');

$result = mysql_query("select * from books where $searchtype like $searchterm ") or die( mysql_error());

adicione isso na linha assim o banco retornará o erro que está ocorrendo

Link para o comentário
Compartilhar em outros sites

  • 0
não ta printando o seachterm :o

e diz que não ta selecionada a database :o com o OR DIE

não entendi :S ta tudo aparentemente correto :D

@ $db = mysql_pconnect ('localhost','root', '');

if(!$db){

echo 'mysql não conseguio se conectar';

exit;

}

evite usar o @ pois ele oculta um provavel erro assim ficara impossivel de diagnosticar corretamente onde está o erro

$db=mysql_connect("localhost","root","");

if(!$db){

echo 'mysql não conseguio se conectar';

exit;

}

$banco=mysql_select_db('books');

if (!$banco){ echo "erro no banco";}

$result = mysql_query("select * from books where $searchtype like $searchterm ") or die( mysql_error());

verifique se o nome do banco está correto e troque o trecho acima até mais

Link para o comentário
Compartilhar em outros sites

  • 0

$num_results = mysql_num_rows($result);

da um erro nessa linha !

não sei porque! mesmo assim na adianta se não ta reconhecendo o $searchterm :S

detalhe... o search type reconhece !

***form html***

<form method="post" action="results.php">

escolha o tipo de procura :<br /><br/>

<select name="searchtype">

<option value="author">Autor</option>

<option value="title"> title </option>

<option value="......."> ........... </option>

</select>

<input name="searchterm" type= "text" /><br/>

<input type="submit" value="Search" />

</form>

**passagem pro php***

<?php

$searchtype = $_POST['searchtype'];

$searchterm = $POST['searchterm'];

$searchterm = trim($searchterm);

************88

ai diz que não tem $searchterm

Editado por branquinho
Link para o comentário
Compartilhar em outros sites

  • 0
$num_results = mysql_num_rows($result);

da um erro nessa linha !

não sei porque! mesmo assim na adianta se não ta reconhecendo o $searchterm :S

detalhe... o search type reconhece !

***form html***

<form method="post" action="results.php">

escolha o tipo de procura :<br /><br/>

<select name="searchtype">

<option value="author">Autor</option>

<option value="title"> title </option>

<option value="......."> ........... </option>

</select>

<input name="searchterm" type= "text" /><br/>

<input type="submit" value="Search" />

</form>

**passagem pro php***

<?php

$searchtype = $_POST['searchtype'];

$searchterm = $POST['searchterm'];

$searchterm = trim($searchterm);

************88

ai diz que não tem $searchterm

Note que ($searchterm = $POST['searchterm'];) voce não está pegando os dados

troque essa linha

$searchterm = $POST['searchterm'];

por isso

$searchterm = $_POST['searchterm'];

até mais

Link para o comentário
Compartilhar em outros sites

  • 0

:o erro mais idiota que eu já vi, esse meu :P

mas agora da erro na linha em negrito :\

******php*************

$db = mysql_pconnect('localhost','root','');

if (!db) {

echo 'error: cold.........';

exit;

}

$db = mysql_select_db('testes');

$query = "select * from books where ".$searchtype." like ".$searchterm." ";

$result = mysql_query($query);

$num_results = mysql_num_rows($result);

echo "numero de resultados encontrados = ".$num_results;

for ($i=0; $i <$num_results; $i++)

{

echo '<p><strong>'.($i+1).'TITLE';

echo htmlspecialchars(stripslashes($row['title']));

echo'</strong><br />Autor: ';

echo stripslashes( $row['Author']);

echo '<br/> ........ ';

echo stripslashes( $row['.....']);

}

Editado por branquinho
Link para o comentário
Compartilhar em outros sites

  • 0
:o erro mais idiota que eu já vi, esse meu :P

mas agora da erro na linha em negrito :\

******php*************

$db = mysql_pconnect('localhost','root','');

if (!db) {

echo 'error: cold.........';

exit;

}

$db = mysql_select_db('testes');

$query = "select * from books where ".$searchtype." like ".$searchterm." ";

$result = mysql_query($query);

$num_results = mysql_num_rows($result);

echo "numero de resultados encontrados = ".$num_results;

for ($i=0; $i <$num_results; $i++)

{

echo '<p><strong>'.($i+1).'TITLE';

echo htmlspecialchars(stripslashes($row['title']));

echo'</strong><br />Autor: ';

echo stripslashes( $row['Author']);

echo '<br/> ........ ';

echo stripslashes( $row['.....']);

}

o erro não é nessa linha mas sim na linha acima

$query = "select * from books where $searchtype like '%$searchterm%' ";

$result = mysql_query($query);

a sua query está errada

o operador like requer um caracteristica de busca que é simbolizada por %

acredito que agora deve funcionar e não se esqueça de adicionar o or die pois ele fundamental para saber qual erro está ocorrendos nas consultas caso haja até mais

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...