插入查询不起作用

时间:2013-11-16 08:30:59

标签: mysql

我已经应用了一个插入查询,但它给出了错误。

$registerquery = mysql_query("INSERT INTO `registration`(`Activation`) VALUES('".$activation."') WHERE email= '". trim($_POST['email']) ."'");

4 个答案:

答案 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) ."'");
  • 请移至PDO或mysqli,因为mysql已被弃用。

答案 1 :(得分:2)

您似乎正在尝试覆盖现有值使用UPDATE语句而不是INSERT语句这就是它无法正常工作的原因。 INSERT在您尝试插入新值时起作用,其中不应存在条件(where子句)。

答案 2 :(得分:1)

检查这个registrationActivation)它看起来不正确,`应该是'也许你应该用@开始查询以避免sql注入攻击

答案 3 :(得分:1)

使用update语句而不是INSERT来使用where子句

$registerquery = mysql_query("UPDATE `registration` 
                    SET `Activation` = '".$activation." 
                    WHERE email= '". trim($_POST['email']) ."'"
                 );