我已经使用了这个确切的代码,稍微修改了另一个脚本中的值,它运行得很好,但这次它给了我错误。这是一行:
$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行的''附近使用正确的语法
我假设我要么缺少一些简单的东西,我已经在某处弄错了(尽管我重新输入它以仔细检查它不是那样)。
以下是我的数据库设置方式:
有什么想法吗?
更新
我在查询中添加了缺少的)
并且摆脱了第一个错误,但现在我在提交时遇到此错误:
列数与第1行的值计数不匹配
固定
我错过了$postcode
变量。卫生署!
答案 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中的字段。这可能是列数。