Мое необразованное предположение:
$item=explode(",", $item);
взрывается $item
, что text1,"text,text,text"
, верно?Таким образом, он видит 4 запятых и взрывает их.Следовательно, $item[0]
будет "text1", $item[1]
будет "текстом" $item[2]
будет "текстом" и $item[3]
будет "текстом".
Вы можете попытаться установить разделитель вCSV как нечто иное, чем запятая, и взорвать его.
Или вы можете объединить другие элементы, прежде чем вставить их в БД:
$item = explode(",", $item);
$id_insert = $item[1].$item[2].$item[3];
//if you need to retain the commas in the id:
//$id_insert = $item[1].','.$item[2].','.$item[3];
$results_array = array(
'category' => $item[0],
'id' => $id_insert,
);
$this->db->set($results_array);
$this->db->insert('table', $results_array);