Как правильно записать дату в таблицу mysql или что не так?

Я получаю в js const date = Date.now(); и кидаю ее через ajax в php код
<?php
require_once "db.inc.php";
function clearStr($data){
	global $link;
	return mysqli_real_escape_string($link, trim(strip_tags($data)));
}
function clearInt($data){
	return abs((int)$data);
}

function updateTask($task, $date){
	global $link;
	$status = 0;
	$sql = "INSERT INTO tasks (text, status, timetask) VALUES (?, ?, ?)";
	if ($stmt = mysqli_prepare($link, $sql)){

		mysqli_stmt_bind_param($stmt, "sii", $task, $status, $date);
		mysqli_stmt_execute($stmt);
		$rows = mysqli_stmt_affected_rows($stmt);
		return $rows;
	}
	return $stmt;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST'){

	if (isset($_POST['add'])){
		$task = clearStr($_POST['task']);
		$date = $_POST['date'];
		$res = updateTask($task, $date);
		echo $_POST['date']; 

		// echo $res;
	}
}

и жду что у меня в базу запишется 1507046844096
но в базе почему то 2147483647 во всех ячейках таблицы
Вопрос почему ?
timetask int(255) UNSIGNED (null/Нет) (По умолчанию /0) --- строка в таблице (настройки)
  • Вопрос задан
  • 207 просмотров
Решения вопроса 1
zorca
@zorca
Надо бы выбрать другой тип поля, вылезли за пределы INT:
INT или INTEGER - целые числа обыкновенной разрядности - диапазон чисел со знаком: -2147483648 … 2147483647, без знака(unsigned) – 0 … 4294967295
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Yurajun Автор вопроса
Спасибо. Вот так всегда, думаешь про одно, а на деле другое )))
Ответ написан
Комментировать
PravdorubMSK
@PravdorubMSK
1. Для TIMESTAMP есть соответствующий тип поля - TIMESTAMP, так и зовётся.
2. Определитесь, а зачем именно вам хранить в TIMESTAMP? https://habrahabr.ru/post/61391/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы