【发布时间】:2013-09-29 17:03:49
【问题描述】:
我正在构建一个员工数据库,但似乎遇到了一个有趣的问题。 当我运行查询以添加新用户/员工时,出现错误:
列数与第 1 行的值数不匹配
根据我的研究,插入比插入语句示例第一部分中声明的值更多/更少的值似乎是一个错误:
INSERT INTO table (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 之类的内容将自行填写,其他列将留空)
从我所做的变量转储来看,所有这些变量都是有效的。
我对此感到非常困惑,如果有任何帮助,我们将不胜感激。
【问题讨论】:
-
列
UserGroup出现两次;JobTitle、UserGroup和JobStatus似乎顺序错误 -
我认为
SSN是“社会安全号码”,希望它不是必填字段 ;-) -
SSN 确实是社会的,但它只是用于会计目的的最后几位数字。我已将 OP 更新为新查询,但仍然收到相同的错误 :(
-
'$HourlyRate'值后缺少逗号 -
我以为我检查了一切,就是这样,谢谢先生!