Warning: mysql_num_rows() Error

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]

Search Engine

Search

' />
<?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();
	 }
?>

[/php]

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());

Yes. Thank you again. I did that along with your other suggestion.

I appreciate you help. :smiley:

Sponsor our Newsletter | Privacy Policy | Terms of Service