To further alimadzi's comments, this:
mysql_query($query) or die('Error, query failed');
if(!$query) {
echo "There was an error, please try again.";
print mysql_error();
}
should really be more like this:
$result = mysql_query($query) or die('Error, query failed');
if(mysql_affected_rows() < 1) {
echo "There was an error, please try again.";
print mysql_error();
}