Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mysql_num_rows() expects parameter 1 to be resource, boolean given in [duplicate]

Tags:

php

mysql

I'm building a search within my site. I have a problem with the DB. It's giving me this:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP-5.3.5.0\www\searchscript\search.php on line 86

I'll show you the code section where it gives me such error

line 82: $query = "SELECT * FROM dreams WHERE titolo,titch LIKE \"%$trimmed%\" ORDER BY id_dreams DESC "; 
line 85: $numresults=mysql_query($query);
line 86: $numrows=mysql_num_rows($numresults); //error

Now I tried to see what is the problem behind the query and it's telling me this:

SELECT * FROM dreams WHERE titolo, titch LIKE "%tags%" ORDER BY id_dreams DESC 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'titch LIKE "%tags%" ORDER BY id_dreams DESC' at line 1

The code behind this is:

$query = "SELECT * FROM dreams WHERE titolo, titch LIKE \"%$trimmed%\" ORDER BY id_dreams DESC "; 
$result = mysql_query($query) or die($query."<br/><br/>".mysql_error());
like image 823
Simone Serafini Avatar asked Oct 14 '11 10:10

Simone Serafini


2 Answers

The mysql_query is returning a boolean value meaning the sql query is probably failing and you're getting a false returned rather than a mysql resource.

Have you checked your query?

like image 97
piddl0r Avatar answered Nov 15 '22 15:11

piddl0r


You forgot to check whether $num_results is a MySQL result resource. In this case your query errored, so it's FALSE instead.

Re-read the documentation for mysql_query and ensure you program for all possible cases.

like image 44
Lightness Races in Orbit Avatar answered Nov 15 '22 16:11

Lightness Races in Orbit