Je suis nouveau à CodeIgniter et je suis aux prises avec le soutien actif et enregistrement de classe les apostrophes ajoute à ma requête:CodeIgniter - requête SQL ET clause avec des colonnes de table
C'est la requête que les sorties CodeIgniter (Via enable_profiler):
SELECT `login`.`idlogin`, `login`.`username`, `login`.`password`
FROM (`login`, `pessoa`)
WHERE `login`.`username` = 'user1'
AND `login`.`password` = 'pass1'
AND `pessoa`.`nBI` = 'login.pessoa_nBI'
LIMIT 1
user1 et pass1 sont des chaînes d'une forme de connexion (ignorer le mot de passe en texte clair clair). Cela produit 0 résultats.
Cependant la requête correcte, à savoir le résultat que je veux est:
La seule différenceSELECT `login`.`idlogin` , `login`.`username` , `login`.`password`
FROM (`login` , `pessoa`)
WHERE `login`.`username` = 'user1'
AND `login`.`password` = 'pass1'
AND `pessoa`.`nBI` = login.pessoa_nBI
LIMIT 1
est l'avant-dernière ligne, login.pessoa_nBI n'est pas entouré par une apostrophe.
Qui produit un résultat, comme il se doit. La base de données est MySQL.
Edit: Voici le code d'enregistrement actif:
$this -> db -> select('login.idlogin, login.username, login.password');
$this -> db -> from('login,pessoa);
$this -> db -> where('login.username', $username);
$this -> db -> where('login.password', $password);
$this -> db -> where('pessoa.nBI', login.pessoa_nBI');
$this -> db -> limit(1);
Qu'est-ce que je fais mal?
Merci
peut vous poster votre requête d'enregistrement active réelle? – dm03514