What he means is this:
$sql = mysql_query("INSERT INTO Archive (title, artist, album, category, pages, instrument, key#1, key#2, key#3, location, comments)
VALUES('$title', '$artist', '$album', '$category', '$Pages' '$instrument', '$Keyword1', '$Keyword2', '$Keyword3', '$location', '$comments', now())") or die (mysql_error());
In the first part, you have 11 items listed:
(title, artist, album, category, pages, instrument, key#1, key#2, key#3, location, comments)
But when you define the values in your query later, there are 12:
VALUES('$title', '$artist', '$album', '$category', '$Pages' '$instrument', '$Keyword1', '$Keyword2', '$Keyword3', '$location', '$comments', now())")
The discrepency comes from the now() value at the end of the VALUES listing. Post your Table structure, and that will help.
ALSO, the variable names are case sensitive. When you define the variables when setting them post variables, you capitalized them all, but in your query, you have some capped and some lower. They need to match.