Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: дата/время из Php в Mysql
Форум программистов > Интернет и сети > Web-программирование > PHP программирование
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.")";

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

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

В скобках VALUES первое значение 'NULL' - это автоинкримент.
Я сам новичек, но, вроде, это должно работать.
форматирование добавляй потом, при выводе из базы на страницу.
s10
2 Memphys
А Я САМ НАШЕЛ!!!!!

Есть такая тема в mysql ---- CURDATE и CURTIME. они вернут дату и время.
Но в зависимости от версии формат меняется.
Что бы это использовать надо синтаксис посмотреть правильный.
мот быть CURRENT_DATE() , или тоже только без скобок.
Набираем что то типа : ? curtime. и там смотрим.
все должно быть ок.
chulim
now() решит твою проблему если верно указать типы полей, только не понимаю зачем отдельно хранить date и time,
dkameleon
Для: s10

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


Спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2009 IPS, Inc.