Tal vez te esta sucediendo lo que dice el manual que puede suceder al preguntar solo con ==
Cita:
Iniciado por php.net Warning
Esta función quizá devuelve Boolean FALSE, pero quizá también devuelve un valor non-Boolean que se evaluará como FALSE, como 0 o "". Por favor lea la sección en Booleans para más información. Use el operador === para testear el valor devuelto por esta función.
Saludos!