Jump to content
Fórum Script Brasil
  • 0

não consigo :S


Question

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 to post
Share on other sites

12 answers to this question

Recommended Posts

  • 0

O erro está nessa linha

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

Verifique os campos se estão corretos, e por via de dúvida, de um espaço depois do where!

Link to post
Share on other sites
  • 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 to post
Share on other 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 to post
Share on other 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 to post
Share on other 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 to post
Share on other 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 to post
Share on other 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

Edited by branquinho
Link to post
Share on other 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 to post
Share on other 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['.....']);

}

Edited by branquinho
Link to post
Share on other 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 to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      149287
    • Total Posts
      645678
×
×
  • Create New...