MySQL错误:“列数与第1行的值数不匹配"; -初学者帮助 [英] MySQL error: "Column count doesn't match value count at row 1" - beginner help

查看:175
本文介绍了MySQL错误:“列数与第1行的值数不匹配"; -初学者帮助的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

基本上是php&正在使用MySQL.我是初学者.

basically, php & MySQL being used. I am a beginner.

我想做的是将一个用户注册到我的数据库中,以便将表单输入存储到我的users_tb中.

What I am trying to do is registering a user to my database, so storing the form input to my users_tb.

当我尝试将值插入表单时,收到此错误:

get this error when I try inserting the values into the form:

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

"Column count doesn't match value count at row 1"

我以为是因为我没有插入user_id值(这是自动递增的),所以我尝试在查询中插入''''作为user_id,但还是没有运气.

I thought it was because I wasn't inserting the user_id value (which is auto increment), so I tried inserting '' in my query for the user_id, but still no luck.

这是查询:

$query = "INSERT INTO users_tb (user_id, user_status, user_gender, user_firstname, user_surname, student_number,
    user_email, user_dob, user_name, user_pass) 
    VALUES('','$status','$gender','$firstname','$surname','$hnumber','$dob','$username','$password')";
    mysql_query($query) or die(mysql_error());
    mysql_close();

是否有帮助.如果您需要任何其他代码,请说.

whether that helps. If you need any other code just say.

只是为了确保插入内容不必与表中字段的顺序相同?

just to make sure though, the inserts don't have to be in same order the fields are in the table do they?

非常感谢

推荐答案

您缺少一个值.

对于这么长的查询,如果有这么多的列(如果只插入一行),我建议使用以下INSERT语法,该语法更易于阅读,并且不太可能引起问题.

For queries this long with so many columns (and if you're inserting just one row), I'd suggest using the following INSERT syntax, which is much easier to read and less likely to cause problems.

$query = "INSERT INTO users_tb SET
          user_status    = '". mysql_real_escape_string($status) ."',
          user_gender    = '". mysql_real_escape_string($gender) ."',
          user_firstname = '". mysql_real_escape_string($firstname) ."',
          user_surname   = '". mysql_real_escape_string($surname) ."',
          student_number = '". mysql_real_escape_string($hnumber) ."',
          user_email     = '". mysql_real_escape_string($email) ."',
          user_dob       = '". mysql_real_escape_string($dob) ."',
          user_name      = '". mysql_real_escape_string($username) ."',
          user_pass      = '". mysql_real_escape_string($password) ."'";
mysql_query($query) or die(mysql_error());
mysql_close();

这篇关于MySQL错误:“列数与第1行的值数不匹配"; -初学者帮助的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆