Я пытаюсь вставить значения формы в свою таблицу по переменным. Когда я пробую с одним значением, все в порядке, но потом с 2 это не работает.
SQLSTATE[HY093]: Invalid parameter number (SQL: insert into ....
но вот мой код и SQL-запрос, и я не понимаю, почему это не работает.
DB::insert('insert into recherchesDuJour (UserIp,'."$ListeDesColonnesARemplir".') values (?,'."$ListeDesPointsDInterrogation".' )', [$UserIp , $ListeDesValeurs]);
Мой print_r из var
print_r($ListeDesColonnesARemplir . '/');
print_r($ListeDesValeurs . '/');
print_r($ListeDesPointsDInterrogation . '/');
die();
NaceCode,Langue/a:2:{i:0;s:4:"7724";i:1;s:4:"7762";},s:2:"fr";/?,?/
У меня такое же количество столбцов, "?" и ценности, поэтому я не понимаю.
Спасибо за помощь и извините за мой плохой английский.
Итак, вот печать '"вставить в значения recherchesDuJour (UserIp, NaceCode, Langue) (?,?,?)"'
У вас есть три ?, но только два значения.
есть 3 $ UserIp всегда там, а затем я добавляю другие с моим var, поэтому у меня есть один? тоже он для $ UserIp
Что в результате dd($UserIp);?
вот это "127.0.0.1"
Я не понимаю ваш предыдущий комментарий. Какое третье значение?
так что здесь у меня 2 значения => a: 2: {i: 0; s: 4: "7724"; i: 1; s: 4: "7762";}, s: 2: "fr" и есть еще один тот, кто там каждый раз, $ UserIp, вот почему есть значение $ UserIp и? кто находится прямо в коде, а не в var






Вам нужно преобразовать строку $ListeDesValeurs в массив:
DB::insert('...', array_merge([$UserIp], explode(',', $ListeDesValeurs)));
да, спасибо, я просто делаю это в одно и то же время, и это работает.
Выложите пожалуйста результат
dd('insert into recherchesDuJour (UserIp,'."$ListeDesColonnesARemplir".') values (?,'."$ListeDesPointsDInterrogation".' )');.