2010-11-18 40 views
1

我已经使用这个确切的代码,在另一个脚本中的值稍作修改,它工作得很好,但这次它给了我错误。这是该行:添加到数据库时奇怪的mySQL错误

$result = mysql_query("INSERT INTO contacts (name, email, telephone, companyname, postcode, message, date) VALUES('" . $name . "', '" . $userEmail . "', '" . $telephone . "', '" . $companyName . "', '" . $message . "', '" . $date . "'") or die (mysql_error()); 

我试过回声荷兰国际集团的所有变量与此:

<p>Name: <?php echo $name; ?>, <br />Email: <?php echo $userEmail; ?>, <br />Telephone: <?php echo $telephone; ?>, <br />Company name: <?php echo $companyName; ?>, <br />Message: <?php echo $message; ?>, <br />Date: <?php echo $date; ?>, <br /></p> 

这显示它们无一不精提交表单时。但是,当我尝试将它们添加到数据库时,它会跳出并说出如下内容:

您的SQL语法错误;检查与您的MySQL服务器版本相对应的手册,在第1行使用正确的语法

我假设我要么缺少一些简单的东西,我在某处犯了一个错字(虽然我已经重新输入它来仔细检查它不是那样)。

这里是我的数据库建立方式:

database set-up 任何想法?


UPDATE

我加入了失踪)的查询和摆脱了第一个错误,但是当我提出,现在我得到这个错误:

列计数与第1行的值计数不匹配


固定

我错过了$postcode变量。卫生署!

+0

很好的错误描述。非常好! – powtac 2010-11-18 12:30:33

回答

2

您在查询的末尾缺少),对于VALUES()

$result = mysql_query("INSERT INTO contacts (name, email, telephone, companyname, postcode, message, date) VALUES('" . $name . "', '" . $userEmail . "', '" . $telephone . "', '" . $companyName . "', '" . $message . "', '" . $date . "')") or die (mysql_error()); 
+0

我更新了我的第一篇文章。我添加了')'符号,但是我收到了一个我以前没有遇到的新错误 – Chrish 2010-11-18 12:15:47

+2

@Chrish:你错过了邮编。 – Bobby 2010-11-18 12:17:32

+0

@Bobby我正要更新帖子来说我修好了。你是对的,那是缺少的。谢谢回复 :-) – Chrish 2010-11-18 12:18:37

1

您声明的字段多于VALUES中的值。这可能是列计数的事情。