a me sembra di aver visto o tutte query mysql o mysqli, a seconda.
Poi magari mi sbaglio perché non ho mai avuto occasione di utilizzare mysqli.
Perciò a questa domanda mi ritraggo
Per quanto riguarda gli @, toglili sempre in fase di programmazione.
Se il problema viene dato da una query imperfetta o da una funzione errata non lo saprai mai, e potrai andare avanti giorni interi senza capire quale sia il problema.