• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

дата/время из Php в Mysql

  • Автор темы s10
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

s10

добрый вечер уважаемые знатоки.
сегодня против вас играет Мубараша Нарзан Элегарович, слесарь из города Малые Васюки.

проблема. немогу записать дату и время из php в mysql.
у меня сложный insert так что я приведу весьма утрированный пример.

$query = "insert into some_table(id,dat,tim)
value($id,'".date('Y m d')."','".date('H i s')."')" ;


поле dat тип DATE,а поле tim - TIME.
в результате dat= 0000-00-00; tim= 553:00:00
хз.
я пробовал через вот так:

$query = "insert into some_table(id,dat,tim)
value ($id,date_format(now(),'%Y %m %d'),date_format(now(),'%H %i %s'))";

опять таже ерунда.

дело дошло даже до того что:

function get_date()//**********
{
$day = date("d");
$mounth = date("m");
$year= date("Y");
$res = $year.$mounth.$day;
return $res;
}
function get_time()//*********
{
$hour= date("H");
$minute = date("i");
$second = date("s");
$res = $hour.$minute.$second;
return $res;
}
---- а потом вот так его заразу
$query = "insert into coma(id,dat,tim)value(".$id.",".$dat.",".$tim.")";

и о чудо!!!!!!! в полях даты и времени получил то что надо.но...
дело принципиальное. я ж мог и раньше все строками ваще писать.
но хочется узнать как работать именно с датами.

а теперь внимание вопрос. как сделать тоже что и я только по умному.
время пошло...
 
M

Memphys

как-то все сложно у тебя, попробуй так:
Код:
	$db=mysql_connect("localhost","root");
mysql_select_db("[имя базы]", $db);
$time=time();
$sql= "INSERT INTO [имя таблицы] VALUES(NULL,'$time')";
mysql_query($sql);
В скобках VALUES первое значение 'NULL' - это автоинкримент.
Я сам новичек, но, вроде, это должно работать.
форматирование добавляй потом, при выводе из базы на страницу.
 
S

s10

2 Memphys
А Я САМ НАШЕЛ!!!!!

Есть такая тема в mysql ---- CURDATE и CURTIME. они вернут дату и время.
Но в зависимости от версии формат меняется.
Что бы это использовать надо синтаксис посмотреть правильный.
мот быть CURRENT_DATE() , или тоже только без скобок.
Набираем что то типа : ? curtime. и там смотрим.
все должно быть ок.
 
C

chulim

now() решит твою проблему если верно указать типы полей, только не понимаю зачем отдельно хранить date и time,
 
D

dkameleon

Для: s10

Маленький совет - храни как Integer.
если что, то удобнее будет делать сдвиги по часовым поясам :D
А на выходе сам в ПХП конвертнёшь к нужному формату ;)
 
A

Andrew Stephanoff

можно хранить в формате datetime, но при чтении из бд использовать UNIX_TIMESTAMP(`fieldname`), тогда и с php вопросов не возникнет: $date = date("d.m.Y", $timestamp);
 
N

Ninon

Господа, подскажите, пожалуйста, что может быть причиной следующей проблемы.
В базе MySQL есть таблица tbl_anketa, в ней поле date типа datetime со значением 0000-00-00 00:00:00 по умолчанию.
Сценарий вставляет записи в таблицу. Как правило, все работает нормально, однако , в таблице встречаются записи со следующими значениями поля date : '0000-00-00 00:00:00' или '2020-12-05 12:20:45'

$date_today=date(YmdGis);
$r="insert into tbl_anketa(id,date) values ('$id_an','$date_today')";
$result=mysql_query($r) or die ("Не могу вставить запись");
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!