CodeIgniter - Rufen Sie an eine member-Funktion select() on a non-object
Ich bin ganz neu bei CodeIgniter. Das ist mein code:
class User_model extends CI_Model {
function validate_user() {
$this->db->select('*');
$this->db->from('user');
$this->db->where('username', $this->input->post('username'));
$this->db->where('password', md5($this->input->post('password')));
$validate_user = $this->db->get();
if($validate_user->num_rows == 1) {
return TRUE;
}
}
}
Ich bin, erhalten diese Fehler in meinem Modell-Datei:
Call to a member function select() on a non-object
Derzeit bin ich mit CodeIgniter der version 2.1.0. Bitte helfen Sie mir!
möglich, Duplikat der Codeigniter - ich bin auf der Suche nach Verwendung/Verbindung zu einer anderen Datenbank für einen meiner Controller und ein model
Dies ist ein sehr hilfreicher thread, der zeigt oben in den Suchergebnissen bei der Suche diesen bestimmten Fehler. Bitte aufhören, so schnell zu Weinen doppelte.
Dies ist ein sehr hilfreicher thread, der zeigt oben in den Suchergebnissen bei der Suche diesen bestimmten Fehler. Bitte aufhören, so schnell zu Weinen doppelte.
InformationsquelleAutor softboxkid | 2011-11-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, dass Sie zum laden der "Datenbank" - Bibliothek. Der erste Weg ist die "Datenbank" in Ihrem application/config/autoload.php
oder in Ihrer Klasse-Konstruktor:
Mehr Informationen erhalten Sie hier: https://www.codeigniter.com/user_guide/database/connecting.html
InformationsquelleAutor Vasil Dakov
Sieht es aus wie deine, nicht kleben, um das MVC-Muster. Sollten Sie die übergabe der Daten aus der Ansicht -> controller -> Modell.
Als für das senden von Informationen an die Datenbank, ich bin mir ziemlich sicher, dass CI Griffe xss-und filter-Eingang, aber man kann nie zu sicher.
Auch stellen Sie sicher, laden Sie Ihre Modelle in die config/autoload.php Datei oder initiieren Sie das Modell in der Steuerung __construct () - Funktion
oder
So zum Beispiel in meinem login-Ansicht, ich hätte den CI-erstellen der Felder benötigt.
Nun in den controller
Und das Modell
InformationsquelleAutor Andre Dublin
num_rows
ist eine Funktion, so müssen Sie()
Außerdem rufst du die übergeordnete Klasse Konstruktor der Konstruktor
Oh, es scheint, das db-Objekt ist nicht initialisiert. Rufst du die übergeordnete Klasse Konstruktor der Konstruktor?
Nein. Ich bin nicht durch Aufruf einer Konstruktor auf meinen code. Auch wenn ich die __construct () - Funktion, der Fehler ist immer noch da, die sagen, dass "Fatal error: Call to a member function wo() on a non-object in C:\AppServ\www\ci\application\models\user_model.php on line 14"
Problem gelöst! Ich fügen Sie einfach das Wort 'Datenbank' in autoload.php Datei. $autoload['libraries'] = array('database');
nur um Dinge klarzustellen, die parent-Konstruktor wird IMMER aufgerufen werden, es sei denn, Sie überschreiben die __construct () - Funktion in der Kind-Klasse. In diesem Fall müssen Sie explizit aufrufen des übergeordneten Konstruktors, mit parent::__construct();
InformationsquelleAutor Bogdan