Eccomi ero a pranzo

Cmq Auto committ e' di default settato a true in modo che le query vengano eseguite immediatamente.
Puoi gestire le transazioni resettando auto committ e quindi committare come meglio ti pare .
Ma non credo sia li il problema.

Se mysql affected rows == 0 allora vuol dire che non ha modificato nulla.

- problema nella query
- sti usando una connessione errata.

SOno i problemi piu' comuni.

Rendi il piu' verboso possibile il codice stampando la query , le vars etc... solitamente succede per una svista su 1 var