Вставьте getdate () в столбец

Я пытаюсь поставить временную метку, когда новая строка добавляется в мою базу данных (для ее отображения позже, вроде блога).

Вот мой код прямо сейчас, но он не зарегистрирует дату.

$sql = 'INSERT INTO `Content` (postContent, datePosted) VALUES ("'.(string)$content.'", "'SELECT getdate()'")';

Каков правильный синтаксис getdate () в этой ситуации?

РЕДАКТИРОВАТЬ: это в php, также дата должна быть связана с «Контентом».

Благодарю.

РЕДАКТИРОВАТЬ 2: Я глупец, я мог бы просто положить CURRENT_TIMESTAMP в «по умолчанию» в MySQL, и он бы сделал это автоматически. Пожалуйста, прибегните к этому, если вы попытаетесь сделать это самостоятельно, вместо того, чтобы потратить более 2 часов, пытаясь исправить это вручную, как я.
Спасибо за помощь!

0

Решение

твое прохождение как строка замени это так.

вы просто удаляете двойные кавычки и одинарные кавычки из запроса

$sql = 'INSERT INTO `Content` (postContent, datePosted) VALUES ("'.(string)$content.'",SELECT getdate())';
0

Другие решения

Заменить этот код

$sql = 'INSERT INTO `Content` (postContent, datePosted) VALUES ("'.(string)$content.'",SELECT getdate())';

С этим кодом:

$date = getdate();

$sql = "INSERT INTO `Content` (postContent, datePosted) VALUES ('".$content."', '".$date[0]."')";

Значение, которое будет храниться в datePosted, имеет следующий формат:

Секунды с начала эпохи Unix, аналогичные значениям, возвращаемым time ()
и используется по дате ().

PHP документация

Для вас это означает, что вы сможете легко сравнить значение вашей базы данных, создав $currentDate = getdate() или даже проще, просто сравнив его с time(); который как точно такой же формат.

Дайте мне знать, если это помогло!

0

вставить в [table_name] ([column_name]) значения (сейчас ())

0
По вопросам рекламы [email protected]