我在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();
}
答案 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')";