我正在建立一个员工数据库,但似乎遇到了一个有趣的问题。 当我运行查询以添加新用户/员工时,我收到错误:
列数与第1行的值计数不匹配
根据我的研究,这似乎是插入更多/更少值的错误,而不是插入语句示例的第一部分中声明的值:
INSERT INTO表(col1,col2)VALUES(val1,val2,val3)
事情是,我查看了我的查询,列和值完全匹配(计数)。我甚至在查询中查找了诸如缺少引号,逗号等的内容。
这是我的代码(查询):
$db->query("INSERT INTO userdata (
Username,
Email,
Phone,
Password,
FirstName,
LastName,
Address,
City,
State,
Zip,
JobTitle,
UserGroup,
JobStatus,
Points,
Status,
BirthDate,
HireDate,
HourlyRate,
DateAdded,
SSN
) VALUES (
'$Username',
'$Email',
'$Phone',
'$Password',
'$FirstName',
'$LastName',
'$Address',
'$City',
'$State',
'$Zip',
'$JobTitle',
'$Group',
'$JobStatus',
0,
'$Status',
'$BirthDate',
'$HireDate',
'$HourlyRate'
'$TodaysDate',
'$SSN'
)") or die(mysqli_error($db));
有些注意事项:
这并非表格中的所有列都插入了数据(我认为可以这样做,自动递增ID等内容将自行填充,其他内容将留空)
< / LI>从我所做的变量转储中,所有这些变量都是有效的。
我对此感到很困惑,任何帮助都会受到赞赏。
答案 0 :(得分:0)
再次检查以下部分:
INSERT INTO userdata(...,
JobStatus,
UserGroup,
Points,
UserGroup,
Status,
.....
,)VALUES(...,
$JobStatus',
0,
'$Group',
'$Status',
......
)
在值(,?,?,?)中,在jobstatus之后,应该有UserGroup,然后是Points。而UserGroup出现了两次。