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.