If you'll notice, leatherback has corrected his original error - in his code above, he suggested this:
$result = mysql_query($query) or die($mysql_error());
Note that there was an extra $ before the [man]mysql_error/man function.
EDIT: On a hunch, I went and fiddled around on my test SQL server and found the issue. Your column names have hypens in them, which also mean subtraction when not inside a string. As such, MySQL probably thinks you're throwing a subtraction operator while defining column names, and is getting rather confused.
The solution is to surround your column names with backticks ( ` ). In fact, when writing queries, I almost always surround all table, database, and column names with backticks - that way I will avoid problems such as this one. Here's an example of what I mean:
INSERT INTO `myTable` (`column1`, `column-2-b`) VALUES ('this query', 'will work');