Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/12/2005, 08:18
sneider
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Error al acceder a la bd

Buenas, mi problema es el siguiente. Tengo codigo fuente de un cd ke venia en un libro. Mi problema está en que no logro conectar php con mysql.Os cuento...
Tengo un archivo llamado search.html que supuestamente hace buscar un libro segun un criterio(por autor, titulo o isbn). Los resultados de dicha buskeda aparecerán en otro archivo llamado results.php. Para ello es necesario acceder a mysql y extraer los resultados de la busqueda.Pues bien...al darle a buscar en la pagina search.html me da el siguiente error:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in f:\archivos de programa\easyphp1-8\www\results.php on line 35

Number of books found:


Como veis estoy utilizando el EasyPHP. Os pongo el codigo por si kereis ayudarme.
El archivo search.hmtl es el siguiente:


<html>
<head>
<title>Book-O-Rama Catalog Search</title>
</head>

<body>
<h1>Book-O-Rama Catalog Search</h1>

<form action="results.php" method="post">
Choose Search Type:<br />
<select name="searchtype">
<option value="author">Author</option>
<option value="title">Title</option>
<option value="isbn">ISBN</option>
</select>
<br />
Enter Search Term:<br />
<input name="searchterm" type="text">
<br />
<input type="submit" value="Search">
</form>

</body>
</html>



El archivo results.php es el siguiente:


<html>
<head>
<title>Book-O-Rama Search Results</title>
</head>
<body>
<h1>Book-O-Rama Search Results</h1>
<?php
// create short variable names
$searchtype=$HTTP_POST_VARS['searchtype'];
$searchterm=$HTTP_POST_VARS['searchterm'];

$searchterm= trim($searchterm);

if (!$searchtype || !$searchterm)
{
echo 'You have not entered search details. Please go back and try again.';
exit;
}

$searchtype = addslashes($searchtype);
$searchterm = addslashes($searchterm);

@ $db = mysql_pconnect('localhost', 'bookorama', 'bookorama123');

if (!$db)
{
echo 'Error: Could not connect to database. Please try again later.';
exit;
}

mysql_select_db('books');
$query = "select * from books where ".$searchtype." like '%".$searchterm."%'";
$result = mysql_query($query);

$num_results = mysql_num_rows($result);

echo '<p>Number of books found: '.$num_results.'</p>';

for ($i=0; $i <$num_results; $i++)
{
$row = mysql_fetch_array($result);
echo '<p><strong>'.($i+1).'. Title: ';
echo htmlspecialchars(stripslashes($row['title']));
echo '</strong><br />Author: ';
echo stripslashes($row['author']);
echo '<br />ISBN: ';
echo stripslashes($row['isbn']);
echo '<br />Price: ';
echo stripslashes($row['price']);
echo '</p>';
}
?>

</body>
</html>


GRACIAS