Si oltretutto riguardando per caso ho notato che questo:
$params[$key] => mysql_real_escape_string( $query );
Deve essere sostituito con questo:
$params[$key] => mysql_real_escape_string( $value);
2. Cosa si intende con sanitize dell' input?
Purifica, impedisce di venire "hackerato".
3. Cosa servono queste funzioni?
Teoricamente a niente.
Praticamente fai l'echo delle costanti o funzioni e vedi cosa restituisce.
4. Qual' e' il contenuto effettivo della variabile $array?
Nessuno, viene definita prima del suo utilizzo. Come deve essere fatto sempre, invece di utilizzare la @ per silenziare gli errori.
Anzi, ti consiglio di inserire error_reporting(E_ALL); in cima ad ogni file, togliere tutte le @ e correggere gli errori.