MySql可以插入值[重复]
This question already has an answer here:
I am using an custom CMS and trying to insert the value
The result query works well but the result2 query starts giving an error
Even i tried adding that in same query but that still gives me the same error
$sname=addslashes($_POST['sname']);
$descr=mysql_real_escape_string($_POST['descr']);
$eve_format=mysql_real_escape_string($_POST['eve_format']);
$name=mysql_real_escape_string($_POST['name']);
$pbm=mysql_real_escape_string($_POST['pbmstat']);
$group=$_POST['group'];
$feat_img=mysql_real_escape_string($_POST['feat_img']);
$query="INSERT INTO events (descr,name,eve_format,prize1,prize2,eve_sname) VALUES ('".$descr."','".$name."','".$eve_format."','".$prize1."','".$prize2."','".$sname."')";
$result=mysql_query($query) or die(mysql_error());
$qry2="INSERT INTO events (group) VALUES ('".$group."')";
$result2=mysql_query($qry2) or die(mysql_error());
The error i am getting is
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group) VALUES ('1')' at line 1
I am unable to figure whats wrong over there
I don't think i have any syntax error over there
</div>
此问题已经存在 这里有一个答案: p>
-
'group'列以某种方式导致语法错误
1回答
\ n span>
li>
ul>
div>
我正在使用自定义CMS并尝试插入值 p>
结果查询效果很好但是result2查询开始给出错误 p>
即使我尝试在同一个查询中添加它但仍然给我相同的错误
$ sname = addslashes($ _ POST ['sname']); $ descr = mysql_real_escape_string($ _ POST ['descr']); $ eve_format = mysql_real_escape_string($ _ POST ['eve_format']); $ name = mysql_real_escape_string($ _ POST ['name']); $ pbm = mysql_real_escape_string($ _ POST ['pbmstat']); $ group = $ _ POST ['group']; $ feat_img = mysql_real_escape_string($ _ POST ['feat_img']); $ query =“INSERT INTO事件(descr,name,eve_format,prize1,prize2,eve_sname)VALUES('“。$ descr。”','“。$ name。”','“。$ eve_format。”','“。$ prize1。 “','”。$ prize2。“','”。$ sname。“')”; $ result = mysql_query($ query)或die(mysql_error()); $ qry2 =“INSERT INTO events (组)VALUES('“。$ group。”')“; $ result2 = mysql_query($ qry2)或die(mysql_error()); code> pre>
我得到的错误是 p>
你的SQL语法有错误; 查看与您的MySQL服务器版本相对应的手册,以便在第1行的“组”VALUES('1')附近使用正确的语法 code> pre>
我无法 在那里弄错了什么 p>
我认为那边没有语法错误 p> div>
Your hint is already on the MYSQL ERROR highlighted.
right syntax to use near 'group)
Because group
is a mysql reserved word.
You need to wrap it with backticks
`group`
Obligatory Note:
Please, don't use
mysql_*
functions in new code. They are no longer maintained and are officially deprecated. See the red box? Learn about prepared statements instead, and use PDO or MySQLi - this article will help you decide which. If you choose PDO, here is a good tutorial.
group
is MySQL reserved keyword.
http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
Either add a back tick against it group
OR
add DB Name before it
e.g.
TABLE_NAME.group
But, the best way if possible is to rename group
to something that is not a MySQL reserved keyword.