【问题标题】:PHP inserting the type datetime into sqlPHP将类型日期时间插入sql
【发布时间】:2013-09-26 15:37:05
【问题描述】:

我已经创建了一个 sql 行作为类型:日期时间。

日期时间的输入应该是: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")."')");

}
}

【问题讨论】:

  • 打印最终的 SQL 查询。然后看看值是否正确。
  • 将 date("Y-m-d H:i:s") 值存储在变量中并分配给它并检查它是否正在插入
  • @SaranyaSadhasivam 仍未插入

标签: php sql


【解决方案1】:

试试这个:

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

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

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

【讨论】:

  • 我真的不知道是什么修复了它,但是当我这样做时。 (顺便说一句,您忘记了“”)它起作用了,但是我已经尝试将日期(“y-m-d h:i:s”)放入变量中。我想我自己修好了,但我不知道如何。
  • 我在哪里忘记了“”?
  • VALUES ('" . $title . "','" . $description . "', '".$username ."','".$a."')"
  • 我没有。没有“”,我的查询是完全合法的。自己试试吧。
  • 在 PHP 中,您可以将变量放在双引号内。自己试试吧。
【解决方案2】:

只需在 MySQL 上使用 now()

$resultaat = $mysqli2->query("INSERT INTO questions  (title, description, username, date_made) VALUES ('" . $title . "','" . $description . "', '".$username ."',now()");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 2016-10-04
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多