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

Php 在mysql数据库的一列中插入多个值,php,mysql,arrays,codeigniter,Php,Mysql,Arrays,Codeigniter,我试图用一个html输入插入多个值, HTML输入将使用分号分隔文本,将使用explode函数创建数组,然后希望将此数组传递给mysql 我创建了以下代码 if($this->input->post('create_category')) { $category_chunk = $this->input->post('category_name'); $category_list = explode(";", $category_c

我试图用一个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);}
当我单击创建类别时,它抛出错误“消息:数组到字符串转换”和“插入到
ec_ex_类别中”(
category_name
)值(数组)”

我知道这是由于“category\u name”=>$category\u列表而创建的

我不知道如何传递“category\u name”列中的数组, 我正在使用codeigniter

感谢您的帮助


谢谢,

$category\u列表是数组,因此您必须先从中获取category\u名称,然后再插入它

例如:

$category\u name=$category\u list[0]//数组中的名称是什么索引


然后插入$category\u 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); 

请向我们展示您的模型。函数create_expense_category($category_array){$this->db->insert($ec_ex_category',$category_array)}您好,感谢它部分工作,我尝试添加了Hi;试验;您好,但它只添加了hi,因为第一个索引,如何添加所有?什么不起作用?你能在这里粘贴$category\u列表数组吗;你好您好,分解的数组$category\u列表显示如下----array([0]=>test[1]=>hi[2]=>hello),如何将所有3个添加到表中?您可以借助循环添加:$category\u list=explode(;”,$category\u chunk);对于($i=0;$idb->insert($table_name',$category_list[$i]);}也可以使用codeIgniter insert_批处理方法插入数组