Is there a way to determine if a mysql query returns an empty set? I am selecting 10 results at a time with a limit statement and need to know when i've ran out of rows. I've only got 2 rows in the database, so when I start with row 10, it returns an empty set. I have the following code:

//running this query gives "Empty set (0.00 sec)" in mysql console.

$get_requests = "select form_id, full_name, email, phone, division, location, date_format(time_of_request, '%m-%d-%Y %r') as time_of_request, contact_time, problem, accepted_by, date_format(accepted_time, '%m-%d-%Y %r') as accepted_time, resolution, date_format(resolution_time, '%m-%d-%Y %r') as resolution_time from form where ((stage = 'Closed') && (email = 'awilliam' )) order by resolution_time limit 10 , 10"

//checks to see if it returns nothing, then print that you are at the end of the results

if (!$mysqli_get_requests = mysqli_query($mysqli,$get_requests))
                       echo "You have reached the end of the results.
                       Please press the back button.
                       <form action=/helpdesk/login.php method=post><input
                       type=submit value=Back

but that doesn't work, because I guess an empty set is not false, 0, or NULL?


Something better than *_num_rows() : try a do...while loop :
$res = mysqli_result($sql);

if ($data = mysqli_fetch_*($res)) { // At least one row was found
    do {
    } while ($data = mysqli_fetch_row);
} else {
    // 0 rows

PHP General Mailing List (
To unsubscribe, visit:

Reply via email to