在数据库中插入数据时出现sql语法错误

时间:2013-05-15 16:51:57

标签: php mysql

我无法理解是什么让这段代码将数据插入到mysql中。我在尝试插入代码时继续出现此错误“插入问题:您的SQL语法中有错误;请查看对应的手册在你的MySQL服务器版本中使用正确的语法,在第1行的'order(f_name)values('')附近使用“请帮助。请使用简化的语言,因为我在这个领域很新。

<div class="order_form"><form action="buy.php" method="post">

<table width="330" border="0">
<tr>
<td colspan="2" height="30" bgcolor="#705a6b"><div align="center" class="style4">Order Foram 

</div></td>
</tr>
<tr>
<td width="102" height="30">First Name* </td>
<td width="227" style="border:solid; border-color:#CC99FF; border-width:1px; "><input name="f_name" type="text" size="40" maxlength="100"/></td>
</tr>
<tr>
<td height="30"><input name="submit" type="submit"/></td>
</tr>

</table>
</form>     

<?php 
if (isset($_POST['submit']))
{

$f_name = mysql_real_escape_string($_POST['f_name']);

$que="insert into order (f_name) values ('$f_name')";   

if (mysql_query($que))

{

echo "say something";

}

else {

die("Insert Problem: " . mysql_error());     

}
}

?>
</div>          

2 个答案:

答案 0 :(得分:2)

ORDER是MySQL中的reserved word,需要用反引号包围才能用作表名或列名;

$que="insert into `order` (f_name) values ('$f_name')"; 

答案 1 :(得分:0)

将您的查询更改为:

$que="insert into `order` (`f_name`) values ('$f_name')";  

注意反引号。在SQL查询中保留了order之类的单词。