Вы должны изменить эту строку:
mysqli_query($conadd,'INSERT INTO nnn (`month`) VALUES ($ndate))' ;
misplaced^^ move here
либо: (который, кстати, последний кронштейн неуместны)
mysqli_query($conadd,'INSERT INTO nnn (`month`) VALUES ("'.$ndate.'")');
или
mysqli_query($conadd,"INSERT INTO nnn (`month`) VALUES ('$ndate')");
Используя одиночные кавычки инкапсулированные требует переменная $ndate
котироваться =>"'.$ndate.'"
Хотя двойные кавычки инкапсулированные требует, чтобы быть в ЦЕННОСТЕЙ '$ndate'
.
Не так, SQL интерпретирует это как математическую задачу, что означает, что дефисы интерпретируются как минусовые знаки.
I.e .: 10 минус 22 (на основе сегодняшней даты), что приводит к ошибке SQL.
Использование or die(mysqli_error($conadd))
бы сигнализировал следующую ошибку (ы):
Unknown column '$ndate' in 'field list'
Если бы кронштейн был в нужном месте:
mysqli_query($conn,'INSERT INTO nnn (`month`) VALUES ($ndate)')
or die(mysqli_error($conadd));
Используя его, и используя Опубликованная код:
mysqli_query($conadd,'INSERT INTO nnn (`month`) VALUES ($ndate))'
or die(mysqli_error($conadd));
бы сигнализировал следующее сообщение об ошибке:
Parse error: syntax error, unexpected ';' in...
"I'm trying to insert a new column to varchar field"
Я хотел бы предложить с помощью VARCHAR
для хранения даты/времени, потому что, когда вы решите для запроса даты различий и т.д., то это будет только сделать это, что более сложно.
Вот несколько типов столбцов:
- ДАТА
- DATETIME
- TIMESTAMP
- ВРЕМЯ
- ГОД
Кроме того, вы можете использовать SQL встроенный в NOW()
чтобы сохранить текущее время/дату.
у вас также отсутствует закрытие) в 'mysqli_query' – Victory
Для гибкости позже было бы полезно сохранить вашу« мою »дату как« Ymd 'формат? Где вы делаете день «01» и используете год как «ГГГГ». Затем вы можете отобразить его в формате «m-y» позже. –
Я видел ваше редактирование, проконсультируйтесь с моим ответом ниже. http://stackoverflow.com/a/26519706/1415724 –