Jump to content

[SOLVED] Query count always returns 1...no rows in DB.


pocobueno1388

Recommended Posts

Whenever I use SELECT count(*) in a query and there is absolutely nothing in the database, it ALWAYS returns 1. Shouldn't it return 0?

 

<?php
$countShows = mysql_query("SELECT count(*) FROM shows WHERE creatorID='$sid'");
echo mysql_num_rows($countShows); //displays "1"
?>

 

Why is this?

no, because when SELECTing a COUNT() value, it will return the counted number of rows as a value.  what mysql_num_rows() is counting as a "row" is actually the number returned; since there's always one COUNT()ed value returned, there will always be one "row" returned.  to extract the result from a COUNT(), use mysql_result:

 

$count = mysql_result($countShows, 0, 0);

 

which tells it to grab the value from row 0, field 0.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.