controlla bene i risultati della query del count, anche perchè per come l'hai postata non dovrebbe funzionare essendoci alla fine due doppi apici
Funziona...senza apici o doppi apici provato già.

Fatti stampare la query e il row_count per assicurarti che i risultati siano corretti (testa le query direttamente in mysql se necessario)
Fatto già, mi faccio stampare e faccio anche inserire nel DB il valore del count proprio in quel else aggiuntivo ma adesso ho provato anche nel primo else e funziona.

Provo a cambiare if come suggerito e faccio controllo su id_banner > 0 prima di tutto.
Non avevo ancora ottimizzato perchè mi sto concentrando su questo inspegabile problema.

Provo e posto. Ti ringrazio comunque già da adesso. Spero di risolvere.