connection.query('Insert into customers(cust_first_name, cust_last_name, cust_email,
cust_city, cust_address, cust_zip_code, cust_state, cust_phone_num, cust_role,
cust_website, cust_business_name)
values (?,?,?)',
[req.query.custFirstName, req.query.custLastName, req.query.custEmail,
req.query.custCity, req.query.custAddress, req.query.custZipcode,
req.query.custState, req.query.custPhone, req.query.custRole,
req.query.custWebsite],
[req.query.userName, req.query.password, req.query.Customer=1],
Указывает 11 столбцов, но у вас есть только три ?
заполнителя.
Затем вы передаете 10 значений в следующем аргументе. Тебе нужно 11.
И вы необъяснимым образом передаете дополнительный набор из трех значений, которые выглядят как копирование и вставка из более ранней INSERT.
Вам нужно иметь ровно один ?
для каждого столбца в INSERT, а затем передавать ровно одно значение для каждого ?
.
Возможно, вы сочтете этот альтернативный синтаксис INSERT более интуитивным:
Insert into customers set cust_first_name=?, cust_last_name=?, cust_email=?,
cust_city=?, cust_address=?, cust_zip_code=?, cust_state=?, cust_phone_num=?,
cust_role=?, cust_website=?, cust_business_name=?
Это настраиваемый синтаксис MySQL (не будет работать в других брендах SQL), но он значительно упрощает сопоставление числа ?
заполнителей с количеством столбцов.