Strano che ti ha dato problemi... Usare POST in questi casi è meglio. Uno dei motivi principali è che i parametri GET vengono inviati tramite URL, quindi possono essere indicizzati, sfruttati da malaware, etc... Poi, teoricamente le richieste "GET" dovrebbero essere usate soltanto per recuperare informazioni, e non eseguire operazioni come nel tuo caso.
Non dico che sia migliore, ma la documentazione parla chiaro (esempio
mysql_query()):
Non devi studiare circa nulla, perché almeno per le funzioni base, i nomi delle funzioni sono pressoché identici: in pratica è necessario aggiungere la "i" dopo "mysql". "Spiegare" le differenze in questo modo mi rendo conto che è brutto, ma è così
.
Ah, forse una differenza degna di nota è che con mysqli hanno aggiunto il supporto alla programmazione OOP.
Beh, secondo me dipende da quante modifiche pensi di farci. Se pensi di tenere le varie voci fisse e non modificarle mai, direi che un menù "statico" vada bene... Dipende da come vuoi fare il sito e dall'implementazione.
Ciao!