I think you have compounded problems here, and that is quite common when having PHP compute values to fit inside another syntax (Mysql/SQL).
You have to develop a means of eliminating these problems logically.
One simple strategy is to hard-code some test values and then, one by one, replace them with the computed ones.
I am guessing from your comments you are inserting a new row, and as it is not clear what the exact table schema is I will use the named columns method as an example which ought to work in order for you to see something being added to your table.
$query = mysql_query("
INSERT INTO users (
, date_registered )
, '2012-09-22 00:00:00' )";
Format your sql statements like that and you will find it far easier for you (and others) to check you have the correct number of values and in future when scanning your code the SQL statements will jump right out at you.
IF that works, then as I say, one by one replace them with computed values.
If this system of incremental development works for you then try to remember to adopt it when doing similar tasks in future.