为什么我不能使用php插入mysql数据库?

时间:2011-09-10 12:34:27

标签: php mysql database

这是我的代码:

 $query = "INSERT INTO accounts (name, mail, group, year, active, password) VALUES  ('$name', '$email', '$group', '$year', '1', '$pass')";          
 $result = mysql_query($query) or DIE(mysql_error());

这是我的数据库

Field -  Type 
id       int(11) (auto increment)
name     varchar(30)
mail     varchar(30)
group    varchar(4)
year     varchar(3)
active   tinyint(1)
password varchar(36)

我收到此错误:

  

您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以便在“group,year,active,password”附近使用正确的语法VALUES('Smith S. Ana Joy','ana'在第1行

我要添加的示例或变量:

$name = Smith
$email = ana.smith
$group = A1
$year = I
$active = 1
$pass = a

5 个答案:

答案 0 :(得分:3)

GROUP是mySQL中的reserved word

用反引号包裹它:

`group`

或使用其他列名。

还要确保您的代码受SQL injection保护(即每个变量在插入代码之前都要进行清理)。

答案 1 :(得分:1)

GROUP是保留字。您应该引用该列名称:

... mail, `group`, ...

答案 2 :(得分:1)

group是一个MYSQL命令,可能不会像在值中那样使用。像这样逃离这个领域:

“INSERT INTO帐户(姓名,邮箱,\”组\“,年份,有效,密码)VALUES('$ name','$ email','$ group','$ year','1', '$通')“;

答案 3 :(得分:1)

Group是MySQL中的保留字,因此您必须引用它。您可以在此处详细了解:http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

答案 4 :(得分:0)

group是一个保留关键字,您应将其括在反引号中。