我做了一个sql行作为类型:datetime。
日期时间的输入应如下所示:2013-02-02 10:13:20
你得到的练习如下:0000-00-00 00:00:00
现在在php中,我使用date("Y-m-d H:i:s");
(当前日期和时间(将其插入到我的数据库中。还有其他变量。这些变量入,但日期时间行保持不变:0000-00-00 00:00:00
当除日期以外的所有内容都正常工作时,我第一次收到此代码:
$resultaat = $mysqli2->query("INSERT INTO questions (title, description, username, date_made) VALUES ('" . $title . "','" . $description . "', '".$username ."','".date("Y-m-d H:i:s")."')");
但是数据库中的所有信息都会""
它们周围。(这可能导致日期跳到0000-00-00 00:00:00
现在,当我尝试再次插入其他信息时,它甚至不会再插入了。我的问题:
- 将日期设置为
0000-00-00 00:00:00
的真正问题是什么?是自动""
吗? - 如果是
""
,我怎么能失去它们?
编辑:
Nvm 我丢失了""
这不是导致插入在第二次尝试时失败的问题。 - 为什么我插入一次后它不再插入它?
现在这些并不是真正的不同问题,因为它是关于同一个问题,但这是我的代码,是的,我知道SQL注入,我稍后会修复它:
if (isset($_POST['title'])) {
$alles_goed=true;
$description=$_POST['description'];
$title=$_POST['title'];
$username=$_SESSION['username'];
if ($title=''){
$alles_goed=false;
echo'title is empty';
}
if($alles_goed==true){
$resultaat = $mysqli2->query("INSERT INTO questions (title, description, username, date_made) VALUES ('" . $title . "','" . $description . "', '".$username ."','".date("Y-m-d H:i:s")."')");
}
}
试试这个:
$a=date("Y-m-d H:i:s");
if (!$resultaat = $mysqli2->query("INSERT INTO questions (title, description, username, date_made) VALUES ('$title','$description','$username','$a')"))
{
printf("Errormessage: %s'n", $mysqli2->error);
exit;
}
并检查是否有任何错误产生。
至于为什么只插入一次,你可能有唯一的字段。
只需在 MySQL 上使用now()
$resultaat = $mysqli2->query("INSERT INTO questions (title, description, username, date_made) VALUES ('" . $title . "','" . $description . "', '".$username ."',now()");