Php 将表单输入保存到MySQL数据库:遇到错误

Php 将表单输入保存到MySQL数据库:遇到错误,php,html,mysql,forms,Php,Html,Mysql,Forms,我试图将表单中的一些输入保存到MySQL数据库中,但收到以下错误: 未保存。您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用“desc,备注”值(第1行的“a”、“b”、“c”)的正确语法 以下是我的完整PHP代码: if (isset($_POST['region'], $_POST['desc'], $_POST['remarks']) && !empty ($_POST['region']) && !empty($_POST['des

我试图将表单中的一些输入保存到MySQL数据库中,但收到以下错误:

未保存。您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用“desc,备注”值(第1行的“a”、“b”、“c”)的正确语法

以下是我的完整PHP代码:

if (isset($_POST['region'], $_POST['desc'], $_POST['remarks']) && !empty ($_POST['region']) && !empty($_POST['desc']) && !empty($_POST['remarks']) )

            {

            $region = mysql_escape_string($_POST['region']);
            $desc = mysql_escape_string($_POST['desc']);
            $remarks = mysql_escape_string($_POST['remarks']); 


            mysql_query("INSERT INTO register (region, desc, remarks) VALUES(

            '$region', 
            '$desc', 
            '$remarks') ") or die('Not saved. ' . mysql_error()); 


             }

你能告诉我我做错了什么吗?我以前做过,但在这种情况下我似乎找不到错误(

正如其他人已经指出的,<代码> DESC是SQL关键字,但是你做的<强>不/强>必须改变你的列名才能使你的查询工作。你可能会考虑这一点,但肯定不是强制性的。诀窍是(这是一个很好的习惯)。为了避免使SQL引擎混乱。因此这会引发错误:

INSERT INTO register (region, desc, remarks) ...
但这很好:

INSERT INTO register (`region`, `desc`, `remarks`) ... 
尝试改变

'$region' 

这样做

      mysql_query("INSERT INTO register (`region`, `desc`, `remarks`) VALUES(

        '".$region."', 
        '".$desc."', 
        '".$remarks."') ") or die('Not saved. ' . mysql_error()); 


         }

当我将列命名为“from”和“to”时,我遇到了类似的问题,但我没有意识到它们在SQL中有特殊的意义。你的“desc”也有同样的情况。嘿,我不是问这个问题的人:Pindeded:)对不起,我快速查看了一下,确定是同一个人。可能被相似性愚弄了。。。
      mysql_query("INSERT INTO register (`region`, `desc`, `remarks`) VALUES(

        '".$region."', 
        '".$desc."', 
        '".$remarks."') ") or die('Not saved. ' . mysql_error()); 


         }