【问题标题】:laravel DB::insert Invalid parameter numberlaravel DB::insert 参数号无效
【发布时间】:2018-06-07 21:31:45
【问题描述】:

我正在尝试通过变量在我的表中插入表单的值。 当我尝试使用一个值时没关系,但是使用 2 时,这是行不通的。

SQLSTATE[HY093]: 参数号无效(SQL: insert into ....

但这是我的代码和 SQL 请求,我不明白为什么这不起作用。

DB::insert('insert into recherchesDuJour (UserIp,'."$ListeDesColonnesARemplir".') values (?,'."$ListeDesPointsDInterrogation".' )', [$UserIp , $ListeDesValeurs]);

我的 var 的 print_r

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";/?,?/

我的列数相同,“?”和价值观,所以我不明白。

感谢您的帮助,抱歉我的英语不好。

【问题讨论】:

  • 请发布dd('insert into recherchesDuJour (UserIp,'."$ListeDesColonnesARemplir".') values (?,'."$ListeDesPointsDInterrogation".' )');的结果。
  • 所以这里是 print '"insert into recherchesDuJour (UserIp,NaceCode,Langue) values (?,?,?)"'
  • 您有三个 ? 但只有两个值。
  • 总是有 3 个 $UserIp 然后我用我的 var 添加其他的,这就是为什么我有一个?他也支持 $UserIp
  • dd($UserIp); 的结果是什么?

标签: php database laravel


【解决方案1】:

您必须将$ListeDesValeurs 字符串转换为数组:

DB::insert('...', array_merge([$UserIp], explode(',', $ListeDesValeurs)));

【讨论】:

  • 是的,谢谢,我只是在同一时间做它,它的工作原理。
猜你喜欢
  • 2016-12-31
  • 2016-02-05
  • 2021-02-07
  • 2017-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-05
相关资源
最近更新 更多