我正在创建一个注册,我只使用 PHP 而不是 JavaScript 将我的表单发送到 MySQL 数据库,所以一切正常,没有语法错误或其他任何东西,但我填写了所有信息并单击“注册” ' 并返回一条消息说“列计数与第 1 行的值计数不匹配”。
我只有 14 岁,所以这对我来说很困惑。有人有解决方案吗?
这是我的 INSERT INTO 代码:
$sql = mysql_query("INSERT INTO users(firstname, lastname, email, password, day, month, year, gender)
VALUES('$firstname','$lastname','$email','$db_password','$day','$month','$year')")
or die (mysql_error());
最佳答案
您正在尝试将 7 个值插入 8 列 - 您错过了性别的插入。
正确的代码是:
$sql = mysql_query("INSERT INTO users(firstname, lastname, email, password, day, month, year, gender)
VALUES('$firstname','$lastname','$email','$db_password','$day','$month','$year', '$gender')")
or die (mysql_error());
顺便说一句,如果您还没有这样做,我强烈建议您先转义字符串,然后再将它们传递给查询,如下所示:
$firstname=mysql_real_escape_string($firstname)
您应该对上述所有变量执行此操作。 Here您可以找到有关转义功能的更多信息。
关于PHP ~ 列数与第 1 行的值数不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11989112/