使用php的Mysql日期时间项

使用php的Mysql日期时间项,php,mysql,sql,Php,Mysql,Sql,我无法将now()输入到具有日期戳的MySQL列中选项: $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

我无法将
now()
输入到具有
日期戳的MySQL列中
选项:

$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   
输出:

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

删除
now()
的引号,因为它是一个MYSQL函数。而且它不是now(),而是
now()


我想问题是因为
desc
datetime
是保留字,如果
id
AUTOINCREMENT
可以从值中删除。试试这个:

$sth = mysql_query("INSERT INTO data (user_id, `data`,`datetime`,`desc`) ".
               "VALUES ('$userid','$data',NOW(),'$desc')",$link)
   or die(mysql_error());
请记住,
mysql
扩展已被弃用,请检查mysqli或PDO


编辑:添加了一些错误检测

NOW()
是一个MySQL函数。删除它周围的引号。是的,将其大写为NOW()而不是'NOW()'mysql扩展已被弃用。您的SQL语法中有错误;请查看与MySQL服务器版本对应的手册,以了解可在“请粘贴数据库的表架构”附近使用的正确语法。您可以通过PHPMyAdmin->Export获得它。这是因为我将“desc”更改为description,并且它的okaydatetime也是一个保留字,我不确定
数据
,这就是为什么我也要逃避它。如果你尝试了一些事情但没有成功,请更新你的问题
$sth = mysql_query("INSERT INTO data (user_id, `data`,`datetime`,`desc`) ".
               "VALUES ('$userid','$data',NOW(),'$desc')",$link)
   or die(mysql_error());