einfügen von array Daten in zwei Tabellen mit CodeIgniter

Ich habe ein Anmeldeformular und einfügen von Daten die eingegeben werden in zwei verschiedenen Tabelle mit Registrierungsfunktion.
Dies ist die Struktur der Tabelle:

Benutzer

  • user_id(int)
  • user_email(varchar(64))
  • Benutzername(varchar(64))
  • user_pass(varchar(64))

profile

  • prof_id(int)
  • user_id(int)
  • Vorname(varchar(64))
  • Nachname(varchar(64))
  • ...(anderes Feld)

Setze ich die Variablen in zwei verschiedenen array ($data1 & $data2)
hier ist mein controller:

function add_account() {
    $this->load->model('m_signup');
    //get form variable
    $first_name = $this->input->post('first_name');
    $last_name = $this->input->post('last_name');
    $user_email = $this->input->post('user_email');
    $user_name = $this->input->post('user_name');
    $user_pass = $this->input->post('user_pass');


    $data1 = array($user_name, $user_email, $user_pass);
    $data2 = array($first_name, $last_name);

    $this->m_signup->add_account($data1, $data2);

    redirect('login');
}

und das Modell war so:

function add_account($data1, $data2) {
    $this->db->trans_start();

    $sql1 = "INSERT INTO users(user_name, user_email, user_pass) 
            VALUES (?, ?, ?)";

    $this->db->query($sql1, $data1); 
    $id_user = $this->db->insert_id(); 

    $sql2 = "INSERT INTO profiles(user_id, first_name, last_name) 
            VALUES ($id_user, ?, ?)"; 
    $this->db->query($sql2, $data2);

    return $this->db->insert_id(); 

    $this->db->trans_complete(); 

}

Wenn ich die Anmeldung einzureichen, seine Arbeit in Tabelle Benutzer, aber die Tabelle profile immer noch leer. Bitte helfen Sie mir, meine richtige add_account Funktion oben.

InformationsquelleAutor eto | 2014-01-12
Schreibe einen Kommentar