In a nutshell, it means you didn't do some basic error checking to see if your query actually executed properly and delivered a result set identifier.
For example, suppose you're selecting some data from a table named 'user'. Your query might look like this:
$query = "SELECT name, user_id, city, state, zip FROM user";
// Pass the query to mysl and get a result set identifer ($r):
$r = mysql_query($query);
// Make *sure* you got a result set identifier and some data before you try to process any results:
if(!$r || !mysql_num_rows($r)) {
// either the query failed, or no rows exist, so wave goodbye:
echo "No results";
} else {
// Now you know you have a result set ID and some data:
while($data = mysql_fetch_array($r)) {
// do stuff with each row of data in the result set here
}
}
Have fun...