PHP 将类型日期时间插入到 sql 中


PHP inserting the type datetime into sql

我做了一个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()");