2013-06-28 3 views
0
$sql="INSERT INTO Persons (Name, Email, Telephone, PensionPot, BestTime) 
VALUES 
    ('$_POST[Name]','$_POST[Email]','$_POST[Telephone]','$_POST[PensionPot]','$_POST[BestTime]' )"; 

if (!mysqli_query($con,$sql)) 
{ 
die('Error: ' . mysqli_error($con)); 
} 

    ?> 

Вышеприведенный код является формой, которая представляет базу данных sql, однако в базе данных я хочу видеть дату и время отправки формы? Как мне это сделать?Как создать форму даты и времени в базе данных SQL?

+1

Добра пожаловать в StackOverflow, ваш вопрос не очень понятно, пожалуйста, попробуйте перефразировать и включает в себя постановку задачи, – DevZer0

+0

Да, лучше объяснить вашу задачу – Aleeeeee

+0

Спасибо, я редактировал его для вас, надеюсь, это более ясно. – user2532435

ответ

0

Предполагая, что поле называется submissiondate, ваша линия будет:

$sql="INSERT INTO Persons (Name, Email, Telephone, PensionPot, BestTime,submissiondate) 
VALUES ('$_POST[Name]','$_POST[Email]','$_POST[Telephone]','$_POST[PensionPot]','$_POST[BestTime]',CURDATE() )"; 

EDIT: К сожалению, я пропустил «время» часть вашего вопроса. то вы можете использовать:

$sql="INSERT INTO Persons (Name, Email, Telephone, PensionPot, BestTime,submissiondate) 
    VALUES ('$_POST[Name]','$_POST[Email]','$_POST[Telephone]','$_POST[PensionPot]','$_POST[BestTime]',CURRENT_TIMESTAMP() )"; 

Пожалуйста, обратите внимание, что это очень небезопасный для выполнения запросов к базе данных, как и вы без sanitazing ввода. Вы должны использовать подготовленные заявления!

+0

Спасибо Bartdude за ваш ответ на мой вопрос. Я боюсь, что я полный новичок в SQL, поэтому не знаю, как использовать подготовленные заявления. – user2532435

4

Вы можете использовать CURRENT_TIMESTAMP

$sql="INSERT INTO Persons (Name, Email, Telephone, PensionPot, BestTime, your_datetimefieldname) 
VALUES ('$_POST[Name]','$_POST[Email]','$_POST[Telephone]','$_POST[PensionPot]','$_POST[BestTime]', CURRENT_TIMESTAMP)"; 
0

В качестве альтернативы вы можете просто установить значение по умолчанию для столбца в базе данных, чтобы быть текущей временной метки. Таким образом, вам не нужно беспокоиться в коде, чтобы всегда вставлять текущую временную метку.

ALTER TABLE yourTable ADD COLUMN created timestamp DEFAULT CURRENT_TIMESTAMP /*and optionally:*/ ON UPDATE CURRENT_TIMESTAMP;