MySQL时间戳字段未在表单提交时更新

时间:2012-05-20 19:02:25

标签: php mysql html forms timestamp

我的网站上有一个联系我们提交表格(mconchicago.com/Contact_Us)。

应该设置它以便每次提交都获得自动编号和当前时间戳。除了时间戳之外,现在每个人都在工作,这让我陷入了疯狂的边缘。每次都是零。

这是上传时记录的样子:

http://www.mconchicago.com/Screenshots/Records.jpg

这是我配置时间戳字段的方式:

http://www.mconchicago.com/Screenshots/Structure.jpg

这是我最后一次尝试使用PHP:

<?   
$id=$_POST['mysql_insert_id()']; 
$first_name=$_POST['first_name'];
$last_name=$_POST['last_name']; 
$company=$_POST['company'];
$email=$_POST['email'];
$address=$_POST['address']; 
$city=$_POST['city']; 
$state=$_POST['state'];
$zip=$_POST['zip'];
$phone=$_POST['phone'];
$reason=$_POST['reason'];
$comments=$_POST['comments'];
$timestamp=$_POST['UNIX_TIMESTAMP()'];
mysql_connect("emellis2002.db.9243147.hostedresource.com", "emellis2002", "Newpwd99@") or die(mysql_error()); 
mysql_select_db("emellis2002") or die(mysql_error()); 
mysql_query("INSERT INTO `data` VALUES ('$id', '$first_name', '$last_name', '$company', '$email', '$address', '$city', '$state', '$zip', '$phone', '$reason', '$comments', 'timestamp')");  
Print "Your information has been received.  Thank you for getting in touch.<br><br>"; 
Print "<a href=http://www.mconchicago.com/Contact_Us.html>CLICK HERE</a> to return to our web site." 
?> 

您可以从Structure截图中看到,我尝试了许多不同的语法组合而没有成功,在此过程中查看了许多论坛帖子。我错过了什么?

2 个答案:

答案 0 :(得分:1)

最好使用MYSQL DEFAULT_VALUE属性。

编辑表格并将CURRENT_TIMESTAMP放入DEFAULT_VALUE。

每次在表格中完成插入时,这将在时间戳列中插入MYSQL服务器的当前时间戳。

答案 1 :(得分:1)

有几点:

$timestamp=$_POST['UNIX_TIMESTAMP()'];

您正在查找名为UNIX_TIMESTAMP()的POSTed值。你可能打算:

$timestamp = 'UNIX_TIMESTAMP()';

此外:

mysql_query("INSERT INTO `data` VALUES ('$id', '$first_name', '$last_name', '$company', '$email', '$address', '$city', '$state', '$zip', '$phone', '$reason', '$comments', 'timestamp')");  

您正尝试将字符串timestamp插入字段中。你可能意味着$timestamp