插入查询在mysql中不起作用

时间:2014-04-09 05:42:12

标签: mysql sql insert

我真的不知道发生了什么,插入查询对我不起作用。

$query_getgreenyear = "INSERT INTO `greenityear` `ConsolidateYear` VALUES ('".$sentdata."')";

在$ sentdata中,值为(' A',' B'),ConsolidateYear的数据类型为varchar。我需要将此值插入数据库。 但我得到错误 您在ConsolidateYear VALUES附近有一个SQL语法错误('(' A',' B')')'在第1行。 请帮助我这方面。 我是数据库活动的新手。

4 个答案:

答案 0 :(得分:0)

您忘记为列名添加bracket()

试试这个:

$query_getgreenyear = "INSERT INTO `greenityear` (`ConsolidateYear`)
 VALUES ('".$sentdata."')";

答案 1 :(得分:0)

请查看MySQL Reference Manual

您需要在INSERT语句中用parantheses包围列名:

$query_getgreenyear = "INSERT INTO `greenityear` (`ConsolidateYear`) VALUES ('".$sentdata."')";

我强烈建议您使用MySQL扩展程序提供的预准备语句(至少如果您没有使用已删除的mysql_connect)。这可以保护您免受SQL注入。

答案 2 :(得分:0)

INSERT INTO `greenityear` (`ConsolidateYear`) VALUES (...)

但是,你真的应该使用预备语句,而不是像你一样构造语句。

答案 3 :(得分:0)

正确的语法是

INSERT INTO `tablename` (`columnname1`,`columnname2`) VALUES ('value1','value2')

所以你的例子是这样的:

$query_getgreenyear = "INSERT INTO `greenityear` (`ConsolidateYear`) VALUES ('".$sentdata."')";