Ciao! Quel codice presenta diversi problemi.
Innanzitutto per accedere ad un elemento dell'array puoi usare l'indice numerico o la stringa. Nel tuo caso non usi né l'uno né l'altro.
In secondo luogo per passare un elemento di un array ad una stringa non puoi usare direttamente la notazione con i doppi apici, ma devi racchiudere la variabile di tipo array dentro alle parentesi graffe, in questo modo:
$myarray['foo'] = "wasd";
print "Array: {$myarray['foo']}"; //stamperà la stringa "Array: wasd"
Oppure puoi "spezzare" la stringa in più sottoparti:
$myarray['foo'] = "wasd";
print 'Array: '.$myarray['foo']; //stamperà la stringa "Array: wasd"
Nota che in quest'ultimo caso è possibile anche usare l'apice singolo, in quanto non c'è alcuna variabile da interpretare.
Quindi un modo per scrivere la tua query è il seguente:
$query = "SELECT * FROM gestione_accessi WHERE (Username='{$_POST['username']}' AND Password='{$_POST['password']} AND TipoUtente=$TipoUtente')";
Infine una query di questo tipo è vulnerabile ad attacchi di sql injection (se l'utente al posto della password inserisce una stringa opportuna allora egli è in grado di accedere al sistema pur non avendone il diritto). Per questo motivo è consigliabile usare i prepared statements, disponibili con le estensioni
mysqli (nella loro versione Object-Oriented) e
PDO