I have the following Columns:
CREATE TABLE public.form_filled (
username character(255) NOT NULL,
q1 character(255),
q2 character(255),
q3 character(255),
q4 character(255),
dano character(255),
q5 character(255),
q6 character(255),
q7 character(255),
q8 character(255),
q9 character(255),
q10 character(255),
q11 character(255),
q12 character(255),
q13 character(255),
q14 character(255),
q15 character(255),
q16 character(255),
q17 character(255),
q18 character(255),
q19 character(255),
q20 character(255),
q21 character(255),
q22 character(255),
q23 character(255),
q24 character(255),
q25 character(255),
q26 character(255),
q27 character(255),
q28 character(255),
q29 character(255),
registered_date date
);
Date variable:
$date = date('Y-m-d H:i:s');
Query:
INSERT INTO form_filled
(
username, q1, q2, q3, q4, dano, q5, q6, q7, q8, q9, q10, q11, q13, q14, q15, q16, q17, q18 ,q19, q20, q21, q22, q23, q24, q25, q26, q27, q28, q29, registered_date
)
VALUES ('$username', '$q1', '$q2', '$q3', '$q4', '$dano', '$q5', '$q6', '$q7', '$q8', '$q9', '$q10', '$q11', '$q13', '$q14', '$q15', '$q16')
,('$q17', '$q18', '$q19', '$q20', '$q21', '$q22', '$q23', '$q24', '$q25', '$q26', '$q27', '$q28', '$q29', '$date')
With My Query I obtain:
Warning: pg_query(): Query failed: ERROR: INSERT has more target columns than expressions LINE 3: ...q5, q6, q7, q8, q9, q10, q11, q13, q14, q15, q16, q17, q18 ,... ^ in C:\xampp\htdocs\Safety\action_form.php on line 61 Error while executing the query: INSERT INTO form_filled ( username, q1, q2, q3, q4, dano, q5, q6, q7, q8, q9, q10, q11, q13, q14, q15, q16, q17, q18 ,q19, q20, q21, q22, q23, q24, q25, q26, q27, q28, q29, registered_date ) VALUES ('username', 'Y', 'N', 'Y', 'Y', 'damaged', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y', 'N', 'N', 'N') ,('Y', 'N', 'N', 'N', 'N', 'N', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', '30', '2021-02-24 16:33:03')
You are trying to insert into 31 columns, but providing values for 2 records - the first with 17 and the second with 14 records.
Most probably, there is extra ),(
halfaway between your values (16 and 17) in the middle.
Try:
INSERT INTO form_filled (
username,
q1,
q2,
q3,
q4,
dano,
q5,
q6,
q7,
q8,
q9,
q10,
q11,
q13,
q14,
q15,
q16,
q17,
q18,
q19,
q20,
q21,
q22,
q23,
q24,
q25,
q26,
q27,
q28,
q29,
registered_date)
VALUES (
'$username',
'$q1',
'$q2',
'$q3',
'$q4',
'$dano',
'$q5',
'$q6',
'$q7',
'$q8',
'$q9',
'$q10',
'$q11',
'$q13',
'$q14',
'$q15',
'$q16',
'$q17',
'$q18',
'$q19',
'$q20',
'$q21',
'$q22',
'$q23',
'$q24',
'$q25',
'$q26',
'$q27',
'$q28',
'$q29',
'$date');
Also 12 is missing, but it is perhaps by design.
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments