従業員データベースの構築に取り組んでいますが、興味深い問題が発生したようです。新しいユーザー/従業員を追加するクエリを実行すると、次のエラーが表示されます。
列数が行 1 の値数と一致しません
私が調査したところ、これは挿入ステートメントの例の最初の部分で宣言されているものよりも多い/少ない値を挿入するとエラーになるようです:
INSERT INTO テーブル (col1、col2) 値 (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 の自動インクリメントなどはそれ自体で入力され、その他は空白のままになります)。
私が行った変数のダンプから、これらの変数はすべて有効です。
私はこれについて本当に混乱しています。