Ve skutečnosti právě jste udělali menší chybu – pravděpodobně chyba při kopírování a vkládání.
Následující řádek vyžaduje 8 parametrů místo 4, protože jste vložili otazníky tam, kde jste měli umístit názvy sloupců.
insert into `stocks`(?,?,?,?) values (?,?,?,?);";
Pokud jej upravíte následovně (názvy sloupců nahradíte vašimi skutečnými jmény z tabulky akcií), mělo by fungovat tak, jak jste očekávali.
insert into stocks(ColumnNameOne, ColumnNameTwo, ColumnNameThree, ColumnNameFour)
values (?, ?, ?, ?);