我尝试在SQL中创建INSERT WHERE,但它给了我一个错误

时间:2016-08-06 17:43:59

标签: php mysql xampp

当我尝试使用代码插入数据时:

$query =  dbConnect()->prepare("INSERT INTO users(key) WHERE mail='$mail' VALUES ('$key')");

我正在使用XAMPP,它给了我一个错误:

  

未捕获的PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;检查与您的MariaDB服务器版本对应的手册,以便在C:\ xampp \ htdocs \ PHP7_login \ restore \ index的第1行使用“key”附近的正确语法WHERE mail ='maciej @ localhost'VALUES(key)'。 php:38

2 个答案:

答案 0 :(得分:0)

你应该使用反引号作为键(因为是保留字)
 而不是在哪里使用

"INSERT INTO users(`key`)  VALUES ('$key')"

或者如果您需要更新

"UPDATE users
 set  `key` = '$key'
 where mail = '$mail'"

答案 1 :(得分:0)

猜测是你想要update

update users
    set key = '$key'
    where mail = '$mail' ;

您还应该学习在查询中使用参数值。将字符串替换为查询字符串会引入意外错误,并使代码容易受到SQL注入攻击。