Я пытаюсь поставить временную метку, когда новая строка добавляется в мою базу данных (для ее отображения позже, вроде блога).
Вот мой код прямо сейчас, но он не зарегистрирует дату.
$sql = 'INSERT INTO `Content` (postContent, datePosted) VALUES ("'.(string)$content.'", "'SELECT getdate()'")';
Каков правильный синтаксис getdate () в этой ситуации?
РЕДАКТИРОВАТЬ: это в php, также дата должна быть связана с «Контентом».
Благодарю.
РЕДАКТИРОВАТЬ 2: Я глупец, я мог бы просто положить CURRENT_TIMESTAMP в «по умолчанию» в MySQL, и он бы сделал это автоматически. Пожалуйста, прибегните к этому, если вы попытаетесь сделать это самостоятельно, вместо того, чтобы потратить более 2 часов, пытаясь исправить это вручную, как я.
Спасибо за помощь!
твое прохождение как строка замени это так.
вы просто удаляете двойные кавычки и одинарные кавычки из запроса
$sql = 'INSERT INTO `Content` (postContent, datePosted) VALUES ("'.(string)$content.'",SELECT getdate())';
Заменить этот код
$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 ()
и используется по дате ().
Для вас это означает, что вы сможете легко сравнить значение вашей базы данных, создав $currentDate = getdate()
или даже проще, просто сравнив его с time();
который как точно такой же формат.
Дайте мне знать, если это помогло!
вставить в [table_name] ([column_name]) значения (сейчас ())