我的sql数据库中没有插入日期和时间

时间:2014-05-26 09:32:07

标签: php mysql datetime phpmyadmin sql-insert

我在mysql数据库中插入datetime对象,查询不执行。即没有插入。 db中的current_time和expiry_time的数据类型是datetime。这是我的代码。请指出我的错误。我将非常感激。

if($timespan == '3 days') {$expiry_time = date('Y-m-d H:i:s', strtotime('+3 days'));}
if($timespan == '5 days') {$expiry_time = date('Y-m-d H:i:s', strtotime('+5 days'));}
if($timespan == '7 days') {$expiry_time = date('Y-m-d H:i:s', strtotime('+7 days'));}

$dt = new DateTime();
$dt->format('Y-m-d H:i:s');
$dt = serialize($dt);
$sql="INSERT INTO survey (user, title, description, opta, optb,optc,optd,uploaded,current_time,expiry_time) VALUES ('$user','$title', '$dis', '$a' , '$b', '$c', '$d','','$dt','$expiry_time')";
if (mysqli_query($con,$sql))
 {
  echo "Success";
 }
 else
  {
  echo "Error: " . mysql_error();
  }

2 个答案:

答案 0 :(得分:2)

因为$dt->format('Y-m-d H:i:s');返回一个字符串,并且没有将$dt DateTime对象转换为字符串。将$dt->format('Y-m-d H:i:s');的输出保存到变量并插入。

答案 1 :(得分:1)

您可以使用mysql NOW()

$sql="INSERT INTO survey (user, title, description, opta, optb,optc,optd,uploaded,current_time,expiry_time) VALUES ('$user','$title', '$dis', '$a' , '$b', '$c', '$d','',NOW(),'$expiry_time')";