2016-03-28 2 views
0

У меня есть таблица, которая получает дату и десятичную цифру с страницы PHP. Когда вставка привязана к таблице, значение даты, которое (например, 2016-03-28) преобразуется в «1970-01-01», а десятичное число (например: 55.55) конвертируется в -1991.00, а иногда в -1993.00 ...Моя запись sql автоматически преобразуется

Я проверил свои переменные php $ _POST, и они отправляются ОК. Я также вставлял значения в другую таблицу с той же структурой, и она работала хорошо. я также ввести вручную через PhpMyAdmin, и он выглядит нормально.

Я даже продублирован рабочий стол и проверить, что структура такой же, и это не помогает ...

Дата столбец "ДАТА" и десятичный столбец "DECIMAL (32,2)"

enter image description here

enter image description here

enter image description here

+1

вы вставляете/обновляете недопустимое значение даты, поэтому mysql «исправляет» его до эпохи, январь 1/1970. вам нужно показать, как вы вставляете/обновляете. не знаю, как десятичное число становится поврежденным - опять же, покажите фактические запросы, которые вы используете, которые вызывают это. –

+0

$ timestamp = strtotime ($ date); $ date_conv = date ("Y-m-d H: i: s", $ timestamp); $ sql = "INSERT INTO table (id, date, description, section, decimal) VALUES (null, '". $ date_conv. "', '". $ description. "', '". $ section. "', $ десятичная дробь)"; Благодаря! –

+0

и что такое 'echo $ sql' show? Не вводите этот код в команды. его трудно читать. отредактируйте свой вопрос и добавьте его там. –

ответ

0

Если вы вставляете дату, почему вы создать временную метку, а затем попытаться вставить ее? Вы должны вставлять метки времени в поля метки времени и даты в поля даты.

+0

Becouse Мне нужно преобразовать строку даты в качестве preperation для вставки в DB. –

+0

Но вы преобразовываете дату в формате Y-m-d в метку времени в формате Y-m-d H: i: s, а затем вставляете в поле даты в формате Y-m-d. Отбросьте H: i: s, и дата должна вставить штраф. – VikingBlooded

+0

@VikingBlooded: mysql автоматически укоротит дату и время -> дату вставки в поле даты. предоставление значения времени в поле даты бессмысленно, но не «неправильно». –

0

Ну, я нашел ответ, Becouse Я работаю поздно ночью, я не видел, что я отправлял параметры функции PHP не в том же порядке, что функция получает tham. Мой плохой ... Исправлено, и это сработало.

Смежные вопросы