Ich denk, es gibt NULL zurück und das ist boolesch verglichen eben false.
Ui, da muß ich ein bißchen PHP advocacy betreiben:
NULL ist NULL und etwas besonderes. Nur das (case insensitive) keyword NULL ist vom typ NULL, nichts anderes. In PHP gilt zwar NULL==false, aber sicher niemals NULL===false. Zu mehr derartigen Hirnwich^H^H^H^Hverrenkungen siehe http://www.php.net/manual/en/language.types.null.php
$result=mysql_query('hallo'); var_dump($result); ergibt jedenfalls bool(false). Auch die Dokumentation läßt daran keinen Zweifel:
"mysql_query() returns a resource identifier [Anm.: oder TRUE, je nach statement] or FALSE if the query was not executed correctly."
http://de.php.net/manual/en/function.mysql-query.php
Ich möchte mir ehrlich gesagt kein (4,6MB großes) file downloaden, um danach eventuell lesen zu müssen, daß mysql_query() im Fehlerfall NULL zurückgibt...!?
Wenn nicht NULL zurückgegeben wird, dann heißt das aber noch lange
nicht, das das Resultset einen Eintrag hat.
Hab ich nie behauptet. Auch ein empty set ist ein result set, ist aber dann in jedem Fall vom typ resource.