CodeIgniter - Appel à un membre de la fonction select() sur un non-objet
Je suis assez nouveau dans CodeIgniter. C'est mon 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;
}
}
}
Je suis, qui reçoit cette erreur dans mon fichier de modèle:
Call to a member function select() on a non-object
Actuellement j'utilise CodeIgniter la version 2.1.0. S'il vous plaît aider moi!
double possible de Codeigniter - je cherche à utiliser/se connecter à une base de données différente pour l'un de mes contrôleurs et un modèle
C'est très utile thread qui affiche haut dans les résultats de recherche lors de la recherche de cette erreur. S'il vous plaît arrêter d'être si rapide à pleurer en double.
C'est très utile thread qui affiche haut dans les résultats de recherche lors de la recherche de cette erreur. S'il vous plaît arrêter d'être si rapide à pleurer en double.
OriginalL'auteur softboxkid | 2011-11-30
Vous devez vous connecter pour publier un commentaire.
Je pense que vous avez à charge la "base de données" de la bibliothèque. La première méthode consiste à inclure la "base de données" dans votre application/config/autoload.php
ou dans votre constructeur de la classe:
Vous pouvez obtenir plus d'informations ici: https://www.codeigniter.com/user_guide/database/connecting.html
OriginalL'auteur Vasil Dakov
Il ressemble au votre, de ne pas coller au modèle MVC. Vous devriez être en train de passer les données de la vue -> contrôleur -> model.
Comme pour l'envoi des informations à la base de données, je suis assez sûr que CI poignées xss et l'entrée du filtre, mais vous ne pouvez jamais être sûr.
Assurez-vous également que vous êtes le chargement de vos modèles dans la config/autoload.php fichier ou de lancer le modèle dans le contrôleur de __construct() la fonction
ou
Ainsi, par exemple, dans mon login vue, j'aurais le CI de créer les champs nécessaires.
Maintenant dans le contrôleur
Et le modèle
OriginalL'auteur Andre Dublin
num_rows
est une fonction, vous devez donc ajouter()
Aussi, êtes-vous en appelant le constructeur de la classe parent dans le constructeur
Oh, il semble que le db l'objet n'est pas initialisé. Êtes-vous en appelant le constructeur de la classe parent dans le constructeur?
Pas de. Je ne suis pas tout appel de constructeur, sur mon code. Même si j'ai mis le __construct() de la fonction, l'erreur est toujours là à dire que "l'erreur Fatale: Appel d'une fonction membre où() sur un non-objet dans C:\AppServ\www\ci\application\models\user_model.php sur la ligne 14"
Problème résolu! Je viens d'ajouter le mot "base de données" dans autoload.php fichier. $autoload['bibliothèques'] = array('base de données');
juste pour clarifier les choses, le constructeur parent sera TOUJOURS, à moins d'ignorer le __construct() fonction de votre enfant de la classe. Dans ce cas, vous devez appeler explicitement la mère du constructeur, avec un parent::__construct();
OriginalL'auteur Bogdan