2
我有csv文件,我解析數組並傳遞給mysql表。 一些CSV文件不包含一些列什麼是在數據庫中,當我將它轉換爲數組比我有更少數量的列在表中,我得到「語法錯誤」。如果密鑰不存在,則發送null
從控制器I撥打:
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?
我會嘗試像你描述的那樣,有62列,所以我需要設置每個列爲null,如果它爲空... – DocNet
yikes,多麼痛苦! – Drew
前4列是主鍵,我可以設置一些默認的數字或字符串intead null爲前4列使用此負載? – DocNet