添加到数据库时出现奇怪的mySQL错误

时间:2010-11-18 12:08:08

标签: php mysql database forms

我已经使用了这个确切的代码,稍微修改了另一个脚本中的值,它运行得很好,但这次它给了我错误。这是一行:

$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 有什么想法吗?


更新

我在查询中添加了缺少的)并且摆脱了第一个错误,但现在我在提交时遇到此错误:

  

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


固定

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

2 个答案:

答案 0 :(得分: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());

答案 1 :(得分:1)

你声明了一个字段而不是VALUES中的字段。这可能是列数。