Я применил запрос на вставку, но дал ошибку.Вставить запрос не работает
$registerquery = mysql_query("INSERT INTO `registration`(`Activation`) VALUES('".$activation."') WHERE email= '". trim($_POST['email']) ."'");
Я применил запрос на вставку, но дал ошибку.Вставить запрос не работает
$registerquery = mysql_query("INSERT INTO `registration`(`Activation`) VALUES('".$activation."') WHERE email= '". trim($_POST['email']) ."'");
Используйте оператор обновления вместо INSERT использовать где предложение
$registerquery = mysql_query("UPDATE `registration`
SET `Activation` = '".$activation."
WHERE email= '". trim($_POST['email']) ."'"
);
проверить это registration
(Activation
) это не кажется правильным, `должен возможно быть" и, возможно, вы должны начать запрос с @, чтобы избежать SQL инъекций нападения
В тире mysql разрешены обратные тики ('), которые используются для обозначения имен полей, поэтому их нельзя использовать в' registration'. См. Http://stackoverflow.com/questions/261455/using-backticks-around-field-names –
если вы хотите просто обновить столбец в таблице, так что вам нужен UPDATE
не INSERT
.
, а также вы должны дезинфицировать переменную POST для предотвращения инъекции sql.
$email = mysql_real_escape_string($_POST['email'])) ;
$registerquery = mysql_query("UPDATE `registration`
SET `Activation` '".$activation."'
WHERE email= '". trim($email) ."'");
Кажется, вы пытаетесь перезаписать существующие значения использовать оператор UPDATE и не INSERT заявление это причина, почему он не работает. INSERT работает, когда вы пытаетесь вставить новое значение, там не должно быть условия (предложение where).
'INSERT'-х не имеют' WHERE' положение. Вы имели в виду использовать 'UPDATE'? – Wrikken
Какова ошибка: вы сначала запустили mysql_connect и выбрали базу данных? Также вы должны изучить другие способы подключения к базе данных sql. Поскольку функции mysql_ обесцениваются. –
Прошедшая немедленная проблема, вы принимаете '$ _POST ['email']' непосредственно без какой-либо фильтрации? Плохая практика. – JakeGould