2013-09-12 21 views
0

Я пытаюсь сохранить в MySQL последнюю дату и час, когда пользователь обратился к своей учетной записи. Когда я вхожу в систему, я получаю следующую ошибку:Сообщение об ошибке обновления MySQL

У вас возникла ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с '16: 06: 21 ГДЕ электронная почта = «[email protected]»»в строке 1

$query="UPDATE users SET last_visit=$last_visit WHERE email = '$email'"; 
mysql_query($query) or die (mysql_error()); 

LAST_VISIT имеет тип даты и времени.

$last_visit = date("Y-m-d H:i:s"); 
$email = mysql_real_escape_string($_POST['email']); 

Я знаю, что MySQL обесценивается. Я буду использовать MySQLi.

Сообщите мне, если мне нужно отредактировать свой вопрос перед тем, как опуститься. Благодаря!

+3

вам нужно в кавычки '$ last_visit' – karthikr

+0

это лучшая практика, чтобы всегда ставить' ' 'вокруг значений для предотвращения ошибок пространств в вашем входы – amaster

ответ

2

Вы забыли Кавычки ' так last_visit столбец является DATETIME:

$query="UPDATE users SET last_visit='$last_visit' WHERE email = '$email'"; 
+0

Настоящая история. Это безумие, как иногда мы пропустили простейшие вещи. Большое спасибо! Я приму свой ответ, как только смогу. – SporeDev

+0

@SporeDev не беспокоит мат :) cheers – Stephan

+0

Лучше держите свои переменные из своей строки. например: '$ query =" Update ... ". $ last_visit. "WHERE email = '". $ email. "'"; 'использование строковых форматов. – Tikkes

Смежные вопросы