使用php的mysql datetime条目

I cant enter now() to MySQL column which has datetime stamp option:

$sth = mysql_query("INSERT INTO data (id, user_id,data,datetime,desc) ".
                   "VALUES ('', '$userid','$data',now(),'$desc')",$link)
       or die("Query  failed ");

MySQL:

4   datetime    timestamp           No  CURRENT_TIMESTAMP   

Output:

You have an error in your SQL syntax; check the manual that corresponds to 
your MySQL server version for the right syntax to use near 
'desc) VALUES ('', '','',NOW(),'')'
at line 1

Remove quotes for now() as it is a MYSQL function. Also it is not now(), it is NOW().

$sth = mysql_query("INSERT INTO data (id, user_id,data,datetime,desc) VALUES ('', '$userid','$data',NOW()),'$desc'",$link) or die("Query  failed ");

I guess the problem is because desc and datetime are a reserved words, and if id is AUTOINCREMENT you can remove from values. Try this:

$sth = mysql_query("INSERT INTO data (user_id, `data`,`datetime`,`desc`) ".
               "VALUES ('$userid','$data',NOW(),'$desc')",$link)
   or die(mysql_error());

And remember that mysql extension is deprecated, check mysqli or PDO.

Edited: Added some error detection