There are two errors here.
First, your INSERT SQL command has an invalid syntax.
Second, the semi-colon after the declaration of $q is at the wrong place.
Try this:
$q = "INSERT INTO `accounts` (`firstname`,`initial`,`lastname`,`email`,`password`,`dob`,`number`,`sex`) "
."VALUES ('".$_POST["firstname"]."', '".$_POST["initial"]."', '".$_POST["lastname"]."', '".$_POST["email"]."', '"
."PASSWORD('".$_POST["password"]."'), '".$_POST["dob"]."', '".$_POST["number"]."', '".$_POST["sex"]."') ";