Database > General Database
Warning: mysql_num_rows() Error
(1/1)
Bryant:
Hi,
I'm very new to PHP and MySQL. But I'm pretty sure there's a simple solution to my problem, there usually is.
What I'm trying to do is create a search engine for a website but every time I enter a keyword into the search box this error comes up:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/xxxxxx/public_html/search.php on line 35
No results found for "keyword"
I underlined line 35 with a row of asterisks.
If you think you have an idea to what my problem is I would really, really would appreciate your help.
Thank you!
Here is the PHP code:
--- PHP Code: ---<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Search Engine</title>
</head>
<body>
<center>
<h1>Search</h1>
<form action='search.php' method='GET'>
<input type='text' name='search' size='90' value='<?php echo $_GET['search']; ?>' />
<input type='submit' name='submit' value='Search' >
</center>
</form>
<hr />
<?php
$search = $_GET['search'];
$terms = explode(" ", $search);
$query = "SELECT * FROM search WHERE ";
foreach ($terms as $each){
$i++;
if ($i == i)
$query .= "keywords LIKE '%$each%' ";
else
$query .= "OR keywords LIKE '%$each%' ";
}
// connect
mysql_connect("localhost", "username", "password");
mysql_select_db("databasename");
$query = mysql_query($query);
$numrows = mysql_num_rows($query);
********************************************
if ($numrows > 0) {
while ($row = mysql_fetch_assoc($query)) {
$id = $row['id'];
$title = $row['title'];
$description = $row['description'];
$keywords = $row['keywords'];
$url = $row['url'];
echo "<h2><a href='$url'>$title</a></h2>
$description<br /><br />";
}
}
else {
echo "No results found for \"<b>$search</b>\"";
//disconnect
mysql_close();
}
?>
</body>
</html>
--- End code ---
RaythXC:
There must be an error in your mysql syntax so the query isn't going through
Replace
$query = mysql_query($query);
with
$query = mysql_query($query) or die("Error: ".mysql_error());
Bryant:
Yes. Thank you again. I did that along with your other suggestion.
I appreciate you help. :D
Navigation
[0] Message Index
Go to full version