Трябва да поставите кавички около $secpass
в заявката:
$newStudent = $dbh->exec ("INSERT INTO Student (uname, pass, fname, lname, email, currGrade) VALUES('$_POST[reguser]','$secPass','$_POST[regfirst]','$_POST[reglast]','$_POST[regemail]','$_POST[regclassrank]')");
Само за информация, тук има много други проблеми с вашия код. Най-големите са, че солта трябва да е произволна. Можете да го съхранявате в базата данни до паролата, но наличието на различна произволна сол за всяка парола значително намалява използването на дъгови таблици.
Второ, и това е много по-голям проблем, трябва да екранирате вашите променливи с помощта на mysql_real_escape_string()
или чрез преобразуване на достъпа до вашата база данни за използване на PDO. В противен случай се отваряте към свят на болка под формата на атаки с инжектиране на SQL.