2016-06-02 4 views
0

にファイルをインポートするデータベースエラーがCodeIgniterの:</p> <p>INSERT INTOキー「スラグ」の1062</p> <p>重複エントリー「会社名」:Excelはデータベース

エラー番号を発生したときに、重複したエントリのエラーを取得ph_companiesnameslugabout_usstatusdatetime)VALUES( '・カンパニー01'、 '会社名'、 'PDC会社:など'、1、 '2016年6月2日12時25分09秒')

ファイル名:コア/ MY_Model.php

行番号:

function import(){ 
     require_once APPPATH . 'libraries/excel_reader.php'; 
     if(isset($_POST['submit'])){ 
      $target = basename($_FILES['filepegawaiall']['name']) ; 
      move_uploaded_file($_FILES['filepegawaiall']['tmp_name'], $target); 
      $data = new Spreadsheet_Excel_Reader($_FILES['filepegawaiall']['name'],false); 
      $baris = $data->rowcount($sheet_index=0); 
      for ($i=2; $i<=$baris; $i++) 
      { 
       $save_data = array(); 
       $save_data['name'] =$data->val($i,1); 
       $save_data['slug'] =$data->val($i,2); 
       $save_data['about_us'] =$data->val($i,3); 
       $save_data ['status'] = 1; 
       $save_data['datetime'] =$this->Company_model->getCurrentDatetime(); 

       if(!$this->Company_model->__insert('ph_companies',$save_data)){ 
        $this->session->set_flashdata('error', 'Record couldn\'n inserted. Please try again.'); 
       } 
       else{ 
        $this->session->set_flashdata('success', 'companies data created.'); 
        //redirect('admin/company'); 
       } 
      } 

      unlink($_FILES['filepegawaiall']['name']); 
     } 
     $this->load->view('admin/template/header'); 
     $this->load->view('admin/company/import',$this->data); 
     $this->load->view('admin/template/footer'); 
    } 

コントローラは、どのように私はこれを解決するのです私をガイド..? !!ありがとう!!

+1

テーブルの主キーとして 'slug'カラムを設定していることがあります。 –

+0

私のテーブル構造ではありませんが、 'ph_companies'( ' company_id' BIGINT(20)NOT NULL AUTO_INCREMENT、 'category_id' int型(255)NOT NULL、 ' NAME'のVARCHAR(250)NOT NULLと、 を存在する場合 は、CREATE TABLEを探します'slug' varchar(250)NOT NULL、 ' logo' varchar(100)NOT NULL、 'status' tinyint(4)NOT NULL、 ' about_us'テキストNOT NULL、 'slider_images'テキストNOT NULL、 ' datetime'日時NOT NULL、 プライマリキー( 'company_id')、 ユニークキー' slug'( 'slug') ); – Harshita

+3

@ Harshitaあなたはユニークな値としてスラグを設定します。それはあなたがそのエラーを持っている理由です。 – pr0metheus

答えて

0
CREATE TABLE IF NOT EXISTS ph_companies (company_id bigint(20) NOT NULL AUTO_INCREMENT, category_id int(255) NOT NULL, name varchar(250) NOT NULL, slug varchar(250) NOT NULL, logo varchar(100) NOT NULL, status tinyint(4) NOT NULL, about_us text NOT NULL, slider_images text NOT NULL, datetime datetime NOT NULL, PRIMARY KEY (company_id)) ; 
関連する問題