3

我已经创建了一个 sql 行作为类型:datetime。

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")."')");

}
}
4

2 回答 2

5

只需now()在 MySQL 上使用

$resultaat = $mysqli2->query("INSERT INTO questions  (title, description, username, date_made) VALUES ('" . $title . "','" . $description . "', '".$username ."',now()");
于 2013-09-26T07:32:45.820 回答
5

试试这个:

$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;
}

并检查是否产生任何错误。

至于为什么只插入一次,你可能有唯一的字段。

于 2013-09-26T07:37:05.277 回答