2013-09-26 46 views
0

我已经做了一个sql行,类型为:datetime。PHP将类型的日期时间插入到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")."')"); 

} 
} 
+4

打印最终SQL查询。然后看看值是否正确。 –

+0

将变量的存储日期(“Y-m-d H:i:s”)值分配给它并检查它是否正在插入 –

+0

@SaranyaSadhasivam仍然没有插入 – Loko

回答

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

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

至于为什么只插入一次,你可能有独特的领域。

+0

我真的不知道什么修复了它,但是当我这样做时。 (顺便说一下,你忘了它的工作原理,但我已经试着把日期(“y-m-d h:i:s”)放在一个变量中。我想我自己修复它,但我不知道如何。 – Loko

+0

我在哪里忘了“”? – sskoko

+0

VALUES('“。$ title。”','“。$ description。”','。。$ username。“','。。$ a。”')“ – Loko

2

只需使用一个now()上MySQL的

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