在 mysql 数据库的一列中插入多个值

Insert multiple values in one column of mysql database

我试图用一个 html 输入插入多个值, HTML 输入将包含以分号分隔的文本,将使用 explode 函数创建数组然后将此数组传递给 mysql

我创建了以下代码,

if($this->input->post('create_category'))
    {
        $category_chunk = $this->input->post('category_name');
        $category_list = explode(";", $category_chunk);

        $category_array = array(
                    'category_name' =>$category_list );

        $result = $this->model_admin->create_expense_category($category_array);}

当我单击“创建类别”时,它抛出错误“消息:数组到字符串的转换”和"INSERT INTO ec_ex_category (category_name) VALUES (Array)"

我知道这是由于 'category_name' =>$category_list,

我不知道如何在 'category_name' 列中传递数组, 我正在使用 codeigniter。

感谢任何帮助,

谢谢,

$category_list 是数组,因此您必须先从中获取 category_name 然后再插入它。

示例:

$category_name = $category_list[0] // 无论索引是数组中的名称

然后插入 $category_name.

您正在尝试将数组中的数组发送到您的模型。要在一行中插入多行,您需要使用 insert_batch 这需要一组数组才能工作:

控制器:

$category_list = explode(";", $category_chunk);

$category_array = array();
foreach($category_list as $c)
{
    $category_array[] = array('category_name' =>$c)
}

那么在你的模型中:

$this->db->insert_batch('ec_ex_category',$category_array);