Con php, anzi, più precisamente con mysql_query(), puoi eseguire una sola query alla volta, mentre la tua variabile ne contiene due:
DROP TABLE IF EXISTS `moduli`;
e
CREATE TABLE IF NOT EXISTS ...

Con phpmyadmin funziona perchè, presumo, lo script divide il codice che hai inserito in più query e le esegue singolarmente in successione.