可能重复:
Mysql & PHP Error: Column count doesn't match value count at row 1
我正在尝试在PHP中创建一个帐户注册表单。我已将它连接到我的MySQL数据库,但在我尝试使用表单注册后,我收到了标题中的错误。
if(isset ($_POST['submit']))
{
include( 'connection.php' );
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
if(empty($username) || empty($email) || empty($password))
{
echo 'Please check the required fields.';
}
elseif(!filter_var($email,FILTER_VALIDATE_EMAIL))
{
echo 'Please enter a correct email address.';
}
else
{
$password = md5($password);
$sql = mysql_query("INSERT INTO users (email,username,password) VALUES ('$email','$username','$password',now())") or die(mysql_error());
if($sql)
{
echo 'Successfully submitted.';
}
}
}
答案 0 :(得分:3)
3列:
$sql = mysql_query("INSERT INTO users (email,username,password)
4个值:
VALUES ('$email','$username','$password',now())") ...
答案 1 :(得分:3)
查看你的插入语句,你错过了一个专栏
INSERT INTO users (email,username,password) VALUES ('$email','$username','$password',now())
最后一个值“now()”没有相应的列名...我猜你错过了像date_added这样的东西?
答案 2 :(得分:1)
您的sql语句中存在不匹配:
INSERT INTO用户(电子邮件,用户名,密码)VALUES('$ email','$ username','$ password',now())
只有3列指定了“电子邮件,用户名,密码”,但您要为其添加四个值。