我已经应用了一个插入查询,但它给出了错误。
$registerquery = mysql_query("INSERT INTO `registration`(`Activation`) VALUES('".$activation."') WHERE email= '". trim($_POST['email']) ."'");
答案 0 :(得分:2)
如果您只想更新表格中的列,则需要UPDATE
而不是INSERT
。
并且你应该清理POST变量以防止sql注入。
$email = mysql_real_escape_string($_POST['email'])) ;
$registerquery = mysql_query("UPDATE `registration`
SET `Activation` '".$activation."'
WHERE email= '". trim($email) ."'");
答案 1 :(得分:2)
您似乎正在尝试覆盖现有值使用UPDATE语句而不是INSERT语句这就是它无法正常工作的原因。 INSERT在您尝试插入新值时起作用,其中不应存在条件(where子句)。
答案 2 :(得分:1)
检查这个registration
(Activation
)它看起来不正确,`应该是'也许你应该用@开始查询以避免sql注入攻击
答案 3 :(得分:1)
使用update语句而不是INSERT来使用where子句
$registerquery = mysql_query("UPDATE `registration`
SET `Activation` = '".$activation."
WHERE email= '". trim($_POST['email']) ."'"
);