【问题标题】:putting multiple selections from dropdown into sql query将下拉列表中的多项选择放入 sql 查询中
【发布时间】:2018-01-21 23:10:43
【问题描述】:

我正在使用 select2 多个下拉标签选择插件。在提交表单时,我已经将信息放入我的数据库中。

当只使用$this->input->post('sellingmethods') 时,它只输入最后选择的选项。

我想将它们像 option1,option2,option3 一样放入我的数据库中

所以我尝试使用内爆

'sellingmethods' => implode(',', $_POST['sellingmethods']),

但是我一直被抛出错误:

Message: implode(): Invalid arguments passed

有什么想法吗?

【问题讨论】:

  • 销售方法[] ?
  • 这是非常风险。如果您在进行查询时要绕过占位符系统,则必须正确地转义 SQL。
  • 您的$_POST 条目可能未定义。
  • 在尝试内爆值之前,请检查是否存在任何值...if(isset($_POST['sellingmethods']) && is_array($_POST['sellingmethods'])){ }
  • @tadman 或至少根据预定义的值验证它们。

标签: php mysql


【解决方案1】:

您在尝试将 $_POST['sellingmethods'] 用作数组时遇到错误,这意味着它不是数组。这让我觉得你没有正确命名你的控件。看这个例子,注意名称中的括号和multiple属性的使用。

<select name="sellingmethods[]" multiple="multiple">
  <option value="1">method 1</option>
  <option value="2">method 2</option>
  ...
</select>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 2017-05-19
    相关资源
    最近更新 更多