jcmax
@jcmax
Супер Пользователь

Как добавить запись в таблицу, имеющую внешний ключ в mysql/php?

Добрый вечер снова второй раз за день,

у меня есть метод он добавляет хеш ключ по token_user_id (FOREIGN KEY) пользовательского user_id (PRIMARY KEY)

Почему я не могу добавить в базу хеш с указанным token_user_id (они совпадают с тем user_id) у пользователя стоит 4,
то, что приходит в метод тоже 4 тип integer, в базе тоже указанн тип int(255)

ошибку выдает:
integer: 4
SQLSTATE[HY000]: General error: 1366 Incorrect integer value: ':tuid' for column 'token_user_id' at row 1


$sql = "INSERT INTO user_tokens 
			(token_user_id, token_user_agent, token_token, token_created, token_expires) 
			VALUES (':tuid', ':ua', ':tt', ':tc', ':txpr')";

			echo $userid;

			$binder = array(
				':tuid' 		=> $userid, // тут у меня 4 в базе где указан пользователь тоже указанно user_id -> 4
				':ua' 			=> serialize($visitor->get_userspecs()),
				':tt'			=> $userhash,
				':tc'			=> time(),
				':txpr' 		=> strtotime('+2 Days')
			);
  • Вопрос задан
  • 322 просмотра
Пригласить эксперта
Ответы на вопрос 2
@alexandrryabchuk
$binder = array(
':tuid' => intval($userid), // тут у меня 4 в базе где указан пользователь тоже указанно user_id -> 4
':ua' => serialize($visitor->get_userspecs()),
':tt' => $userhash,
':tc' => time(),
':txpr' => strtotime('+2 Days')
);
Ответ написан
@kisaa
У вас в одном месте на этой странице написано :tuid, а в другом - :uid. Это нормальное поведение, или опечатка?
Ответ написан
Ваш ответ на вопрос

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

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