Die where Bedinnug is ja erfüllt du bekomst alle wo zb user='Sonic' sind und das können 0>x Rows sein. Dh wenn es keinen Eintrag mit user=Sonic gibt geht die Abfrage ja in Ordnung du bekommst alle zeilen zurück wo user= Sonic ist in diesem Fall sind das dann 0 Zeilen.
mysql_query liefert nur False wenn die Syntax nicht gestimmt hat oder die Datenbank einen Fehler hatte usw. Wenn der Befehl aber ausgeführt wurde is er immer true auch wenn 0 Zeilen Betroffen waren.
Ich hoffe jetzt wars verständlicher.
lg