Ho risolto differentemente ed in maniera molto più semplice per il momento, mi stavo spaccando la testa sul nulla come spesso accade.
Ho usato mysql_num_rows, e un check se il numero righe è uguale a 0. Cosa che penso sicuramente poteva essere gestita tramite un try/catch, ma resto comunque nel dubbio di come effettivamente funzioni.
Se qualcuno potesse spiegarlo gliene sarei molto grato, come ripeto, in ogni esempio il codice è riportato in maniera a mio parere fuorviante, persino sulla documentazione ufficiale.