Полная версия этой страницы:
дата/время из Php в Mysql
добрый вечер уважаемые знатоки.
сегодня против вас играет Мубараша Нарзан Элегарович, слесарь из города Малые Васюки.
проблема. немогу записать дату и время из 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.")";
и о чудо!!!!!!! в полях даты и времени получил то что надо.но...
дело принципиальное. я ж мог и раньше все строками ваще писать.
но хочется узнать как работать именно с датами.
а теперь внимание вопрос. как сделать тоже что и я только по умному.
время пошло...
Memphys
14:11:2005, 20:53
как-то все сложно у тебя, попробуй так:
$db=mysql_connect("localhost","root");
mysql_select_db("[имя базы]", $db);
$time=time();
$sql= "INSERT INTO [имя таблицы] VALUES(NULL,'$time')";
mysql_query($sql);
В скобках VALUES первое значение 'NULL' - это автоинкримент.
Я сам новичек, но, вроде, это должно работать.
форматирование добавляй потом, при выводе из базы на страницу.
2 Memphys
А Я САМ НАШЕЛ!!!!!
Есть такая тема в mysql ---- CURDATE и CURTIME. они вернут дату и время.
Но в зависимости от версии формат меняется.
Что бы это использовать надо синтаксис посмотреть правильный.
мот быть CURRENT_DATE() , или тоже только без скобок.
Набираем что то типа : ? curtime. и там смотрим.
все должно быть ок.
now() решит твою проблему если верно указать типы полей, только не понимаю зачем отдельно хранить date и time,
dkameleon
1:12:2005, 21:29
Для:
s10 Маленький совет - храни как Integer.
если что, то удобнее будет делать сдвиги по часовым поясам

А на выходе сам в ПХП конвертнёшь к нужному формату
Andrew Stephanoff
2:12:2005, 06:20
можно хранить в формате datetime, но при чтении из бд использовать UNIX_TIMESTAMP(`fieldname`), тогда и с php вопросов не возникнет: $date = date("d.m.Y", $timestamp);
Господа, подскажите, пожалуйста, что может быть причиной следующей проблемы.
В базе 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 ("Не могу вставить запись");
Andrew Stephanoff
1:12:2006, 09:55
$date_today=date('Y:m:d G:i:s');
Цитата(Andrew Stephanoff @ 1:12:2006, 12:55 )

$date_today=date('Y:m:d G:i:s');
Спасибо!
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.