2013-09-26 78 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()"); 
相關問題