posso darti un parere?
io rivedrei la funzione per vari motivi:
  1. restituisce sempre falso (sarebbe meglio se restituisse vero nel caso in cui abbia successo, falso in caso contrario)
  2. dichiarare global una variabile non mi pare una soluzione corretta, si può fare di meglio (ad esempio, avere in return un array tipo ("valoreEsito"=>true/false, "esito" => $esito) che poi puoi usare per testare l'avvenuto successo o fallimento e memorizzare nel db il log completo)