Я пытаюсь сохранить дату в таблице sql, но я хочу, чтобы она отформатировалась как таковая:
Месяц день, год 10 октября 2010 г. Но всякий раз, когда я делаю вызов sql, 2010 теряется. Как я могу это исправить?
$eventdate = "October 10, 2010";
$sql = "INSERT INTO `tims`.`blog` ( `title`, `date`, `post`, `author`, `approved`) \n"
. "VALUES (
'" . mysql_real_escape_string($_REQUEST['title']) . "',
'" . mysql_real_escape_string(addslashes($eventDate)) . "',
'" . mysql_real_escape_string($_REQUEST['TextArea1']) . "',
'" . mysql_real_escape_string($_REQUEST['author']) . "', 'False')\n";
//echo $sql;
$qry = mysql_query($sql) or die(mysql_error());
Проверьте ширину столбца. Вам нужен VARCHAR (n) в качестве типа данных для этого столбца, а n должен быть длиной самого длинного месяца года + 9. Не рекомендуется хранить даты таким образом, если вы хотите индексировать или сортировать каждый они должны работать.
Чтобы увидеть структуру таблицы:
show create table `tims`.`blog`;
Я согласен с остальными, вы должны использовать столбец даты в таблице для записи, а затем вы должны отобразить его в своем приложении, вы просто отформатируете полученную дату так, как хотите, "10 октября 2010 года". Пожалуйста, не храните дату как текст varchar, реляционная база данных имеет простоту для хранения даты для вас, а с помощью SQL вы можете форматировать дату так или иначе, как вы хотите ее отображать.
date
илиdate
иdatetime
, которые не имеют никакого форматирования. Форматирование имеет значение только тогда, когда вы хотите вывести дату. В каком типе столбца вы пытаетесь его сохранить?