$resultescq = mysql_query("SELECT * FROM esculations WHERE esculations.userid = '$userid'",$dbx);
$checkrow=mysql_numrows($resultescq);

> Returns 8 records. (accurate)


$resultescq = mysql_query("SELECT * FROM transfers WHERE transfers.userid = '$userid'",$dbx);
$checkrow=mysql_numrows($resultescq);

> Returns 4 records. (accurate)


$resultescq = mysql_query("SELECT * FROM pending WHERE pending.userid = '$userid'",$dbx);
$checkrow=mysql_numrows($resultescq);

> Returns 4 records. (accurate)


$resultescq = mysql_query("SELECT * FROM pending, transfers WHERE pending.userid = '$userid' && transfers.userid = '$userid'",$dbx);
$checkrow=mysql_numrows($resultescq);

> Returns 16 records. (inaccurate)


$resultescq = mysql_query("SELECT * FROM esculations, pending, transfers WHERE esculations.userid ='$userid' && pending.userid = '$userid' && transfers.userid = '$userid'",$dbx);
$checkrow=mysql_numrows($resultescq);

> Returns 128 records. (inaccurate)


On the last two queries it appears that MySQL is multiplying the number of records from each table times each other. ie, 4x4=16. 4x4x8=128.

Why is that?