2013-04-12 1 views
0

Veuillez excuser le code que j'ai posté qui n'est pas code formaté. ne pouvait pas obtenir les quatre espaces pour travailler parfois.

Salut. Vous cherchez un aperçu de cette erreur causée par la fonction num_rows() dans CodeIgniter. .

Fatal error: Call to undefined method CI_DB_mysql_driver::num_rows() in [my controller]  

Il semble en quelque sorte enraciné dans ce ... peut-être:

A PHP Error was encountered 
Severity: 4096 

Message: Object of class CI_DB_mysql_driver could not be converted to string 

Filename: database/DB_active_rec.php 

Line Number: 427 

ligne 427 est ainsi libellé: $ v = '' $ this-> évasion ($ v);

et est de la fonction: fonction protégée _where ($ key, $ value = NULL, $ type = 'ET', échapper à $ = NULL)

J'utilise CodeIgniter et IonAuth et le problème semble provenir de num_rows() quand j'appelle cette fonction: fonction publique login ($ identity, $ mot de passe, $ remember = FALSE) { $ this-> trigger_events ('pre_login'); Je me demande si cela pourrait être un problème avec la requête qu'ils utilisent là-bas. Tous les contacts sur CI_DB_mysql_driver seraient utiles ...

Merci d'avance!

+0

Il se trouve ce problème a été causé par certaines fonctions que j'ajouté à le Ion_auth_model. Restaurer ce fichier et séparer les fonctions à un modèle différent a résolu ce problème. Merci quand même. – Patrick

Répondre

0

Changer votre code de requête à ceci:

$this->db->select($this->identity_column . ', username, email, id, password, active, last_login') 
        ->where($this->identity_column, $this->db->escape_str($identity)) 
        ->limit(1); 
$query = $this->db->get('YOUR_TABLE_NAME'); 

L'erreur était parce que vous ne l'avez pas exécuter la requête mais vous venez de générer le code SQL pour elle.

+0

Merci, même si l'erreur est survenue avant que je fasse ce changement. Désolé pour la confusion. – Patrick

0

Vous avez changé quelque chose pour les tests - ce n'est pas de la source réelle:

$query = $this->db->select($this->identity_column . ', username, email, id, password, active, last_login') 
        ->where($this->identity_column, $this->db->escape_str($identity)) 
        ->limit(1); 

echo $query; 

traction/téléchargement depuis github

Questions connexes