I revamped my logic, proved the SQL works in a client the way I want and once again, I am hitting the same mysql brick wall. <?php var_dump($_FILES); //db connection require 'dbConnect.php'; //session file require_once('../auth.php'); function uploadList(){ $file = $_FILES["file"]; $memberID = $_SESSION["SESS_MEMBER_ID"]; if ($file["type"] == "text/plain") { if ($file["error"] > 0) { echo "Return Code: " . $file['error'] . "<br />"; } else { dbConnect(); mysql_select_db('mailList') or die(mysql_error()); $tmp_name = $file["tmp_name"]; $presql = "CREATE TABLE IF NOT EXISTS `{$memberID}` (id MEDIUMINT AUTO_INCREMENT PRIMARY KEY UNIQUE)"; $sql = <<<EOF LOAD DATA LOCAL INFILE '{$tmp_name}' ALTER TABLE `{$memberID}` ADD {$file} VARCHAR(60); FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\\'' LINES TERMINATED BY "\\r\\n" IGNORE 1 LINES EOF; mysql_query($presql); mysql_query($sql); //var_dump($sql); echo '$sql'; if(mysql_error()) { echo(mysql_error()); } else { print('Import of campaign emails sucessfull into mysql table.'); } } } else { print('Invalid file type. Please make sure it is a text file.'); } } //var_dump($_FILES); uploadList(); ?> ********************************error************************* array(1) { ["file"]=> array(5) { ["name"]=> string(14) "emailsTest.txt" ["type"]=> string(10) "text/plain" ["tmp_name"]=> string(14) "/tmp/phpBKCv3n" ["error"]=> int(0) ["size"]=> int(61) } } $sqlYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ALTER TABLE `3` ADD Array VARCHAR(60); FIELDS TERMINATED BY ',' OPTIONALLY EN' at line 2 ********************proof it's supposed to work**************** mysql> CREATE TABLE IF NOT EXISTS `215` (id MEDIUMINT AUTO_INCREMENT PRIMARY KEY UNIQUE); Query OK, 0 rows affected (0.00 sec) mysql> ALTER TABLE `215` ADD emailList VARCHAR(40); Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0