0

Ich versuche, ein bestimmtes Feld aus einem Datensatz in eine Sitzung für meine Benutzerrolle zu speichern. Das Problem hier ist, dass ich kein anderes Feld außer Nama nehmen kann.row() gibt null für spezifisches Feld zurück

controller/verify_login

public function index(){ 
    $this->load->model('verify_login_model'); 
    $username = $this->input->post('username'); 
    $password = $this->input->post('password'); 
    $result = $this->verify_login_model->verify($username, $password); 
    if($result == $username) { 



     $name = $this->verify_login_model->getinfo($username); 
     $this->session->set_userdata('logged_in', TRUE); 
     $this->session->set_userdata('username', $username); 
     $this->session->set_userdata('name', $name); 

     $this->load->view('home_view'); 






    } else { 
     redirect('login'); 
    } 

Modell/verify_login_model

function verify($username, $password){ 
    $this->db->select('username', 'password'); 
    $this->db->from('tb_user'); 
    $this->db->where('username', $username); 
    $this->db->where('password', MD5($password)); 
    $this->db->limit(1); 

    $query = $this->db->get(); 
    if($query->num_rows()==1) { 
     return $username; 
    } else { 
     return false; 
    } 
} 

function getinfo($username) { 
    $this->db->select('nama', 'username'); 
    $this->db->from('tb_userInfo'); 
    $this->db->where('username', $username); 
    $this->db->limit(1); 

    $query = $this->db->get(); 
    if($query->num_rows()==1) { 

     $result = $query->row(); 

     return $result->nama; 



    } else { 
     return false; 
    } 
} 

Ansicht

<?php echo $this->session->userdata['name']?> 

die var_dump ($ result): Objekt (stdClass) # 22 (1) {[ "nama"] => string (4) "test"}

wenn ich die Rückgabe $ result-> nama ändere; zu $ result-> Benutzername; Ich bekomme Fehler: Undefined Eigenschaft: stdClass :: $ Benutzername sogar tho bin sicher 200% gibt es Benutzername Feld in der Tabelle und versuchte die Abfrage direkt.

Antwort

1

Es gibt einen Fehler in der select-Anweisung, es

$this->db->select('nama,username'); 

sein müssen Sie jede Spalte zu trennen, und das ist nicht richtig, alle Spalten in einer Zeichenfolge zu gehen, das ist, warum es Ihnen seine undefinierte erzählt seit Die einzige Spalte, die Sie senden, ist Nama und Sie senden Benutzername als zweiten Parameter für die Auswahl.

Hier ist ein Link auf active record für CodeIgniter 2.2.0

+0

Sie meine Mähne danken !! –