Вставка даты и времени в MySql из PHP

Привет, я хочу отправить в базу данных MySQL дату и время в формате, совместимом с форматом mysql DateTime, который является: 0000-00-00 00:00:00 …

Я использую этот код, который вводит дату и время из команды PHP:

$insert = "INSERT INTO sms (ref, texto, fecha) VALUES ('".$_POST['usuario']."', '".$_POST['sms']."', '".date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000))."')"; $add_member = mysql_query($insert); 

Я действительно хочу это сделать, но с помощью команды MySQL, я имею в виду использование даты и времени с сервера mysql. благодаря

Используйте NOW() при вставке записи INSERT INTO table (date) VALUES (NOW())

Для вашего кода:

 $insert = "INSERT INTO sms (ref, texto, fecha) VALUES ('".$_POST['usuario']."', '".$_POST['sms']."', NOW() )"; $add_member = mysql_query($insert); 

MySQL позволяет использовать только ограниченное количество форматов дат в качестве входных данных. Из руководства по MySQL :

Поддерживаются только форматы, описанные в следующих разделах. Ожидается, что вы предоставите правовые ценности. Непредсказуемые результаты могут возникать, если вы используете значения в других форматах.

Вы даете дату в формате Ymd\TH:i:sP (значение константы DATE_ATOM ), которая не поддерживается MySQL (хотя она может быть проанализирована и сохранена правильно в зависимости от текущего режима SQL).

Вы должны использовать date('Ymd H:i:s', ...) .

PS И да, вы должны защитить свой код от инъекций SQL.

 $date = date("Ymd H:i:s", mktime(0, 0, 0, 7, 1, 2000)); $usuario = mysql_real_escape_string($_POST['usuario']); $sms = mysql_real_escape_string($_POST['sms']); $date = mysql_real_escape_string($date); $sql = "INSERT INTO sms (ref, texto, fecha) VALUES ('$usuario', '$sms', '$date')"; mysql_query($sql) or trigger_error(mysql_error().$sql); 

Сначала я хочу сказать вам, что вы должны следовать рекомендациям в комментариях и читать по SQL-инъекции.

Этот код будет вставлять запись с текущим временем в нужном формате.

 $insert = "INSERT INTO sms (ref, texto, fecha) VALUES ('".$_POST['usuario']."', '".$_POST['sms']."', '".date('Ymd H:i:s')."' )"; $add_member = mysql_query($insert); 

Если вам не нужно текущее время, вам нужно изменить date('Ymd H:i:s') на date('Ymd H:i:s', some_unix_timestamp)