【发布时间】:2015-12-02 01:57:12
【问题描述】:
我有 csv 文件,我将其解析为数组并传递给 mysql 表。 某些 CSV 文件不包含数据库中的某些列,当我将其转换为数组时,表中的列数少于我得到的“语法错误”。
从我调用的控制器:
function sendHistoric(){
$this->load->model('Historic_model');
$this->load->library('csvreader');
foreach($this->divisions as $div){
$result = $this->csvreader->parse_file("assets/csv/1516{$div}.csv");//path to csv file
$this->Historic_model->loadCSVtoDB($result);
//var_dump($result);
}
}
在我的模型中:
function loadCSVtoDB($data){
$sql = "call ins_historic(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
foreach($data as $row){
var_dump($row);
$this->db->query($sql,$row);
}
//echo $this->db->conn_id->error_message();
}
我能否以某种方式发送 NULL 来代替他发现我的数据数量较少或者我需要检查数组的每个元素是否存在,如果不存在则将其设置为 null?
【问题讨论】:
标签: php mysql arrays codeigniter csv