Dzieje się tak, że $result zawiera false (bo zapytanie według bazy jest błędne) Dlatego tez liczenie wierszy się pluje ze dostało boolean. Dlatego też wykonywane jest to co następuje po OR. Nie mam jednak pojęcia czemu to jest błędne, bo mi rusza na Oracle (bez AS, ale na MySQL być powinno z tego co wyszukałem w dokumentacji), jeśli masz dostęp do jakiegoś klienta sql, gdzie możesz wkleić zapytanie, i dostaniesz konkretny błąd co jest nie tak to byłoby pomocne.
Ciągle obstawiam, że to literówka w bazie jakaś spacje przed/po nazwie kolumny itp.