$err = strtr($err,"'","\"")

lo slash serve per far dire a php che quello che trova dopo è un carattere da prendere per quello che è .. e non come un delimitatore !

infatti l'apice singolo è contenuto da due delimitatori che sono un doppio apice ..
e lo stesso dicasi per il doppio apice che è delimitato da due doppi apici.

comunque sia, il punto è che se io valorizzo '$err' con il contenuto di quello che mi restituisce mysql (l'errore), lo script funziona (sostituisce il singolo apice con un doppio apice .. e quindi il discorso dello slash funziona) ..
mentre non funziona se '$err' è valorizzato direttamente da mysql:

$err = "Errore durante la select anagrafe: " . mysql_error() . " - " . mysql_errno();

che altro non è che:

Errore durante la select anagrafe: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND b.id_ana = a.id_ana ) ORDER BY a.nominativo, ' at line 5 - 1064