La query recupera effettivamente qualcosa? Hai provato a stampare i record recuperati?
La documentazione dice che rowCount() restituisce il numero di record recuperati, quindi ci si aspettno numeri >=0, -1 potrebbe corrispondere al risultato di una query fallita, assicurati che la SELECT funzioni.

Rispondi quotando