2010-08-24 8 views
0

J'utilise CodeIgniter pour développer un forum communautaire. Comme j'utilise des ensembles imbriqués pour obtenir une hiérarchie forum imbriqué, je dois courir beaucoup de questions telles que:CodeIgniter - les nombres en requête sql sont masqués avec ``

SELECT `id` FROM `forums` WHERE 1 BETWEEN `lft` AND `rgt` 

Mon problème: CodeIgniter remplace le « 1 » par « '1 » parce que le "1" est reconnu comme un nom de colonne. Bien sûr, la requête ne fonctionne plus.

Existe-t-il un moyen de le faire fonctionner?

thx à l'avance

+0

Afficher votre code s'il vous plaît, vous utilisez '-> query' ou AR classes? – RobertPitt

+0

J'utilise -> requête. – Checkson

+1

pourrions-nous voir l'appel 'query()' actuel dans votre code PHP? – BoltClock

Répondre

0

est ce qu'il vous faut?

$ this-> db-> select() accepte un deuxième paramètre optionnel. Si vous le définissez sur FALSE, CodeIgniter n'essaiera pas de protéger votre champ ou les noms de table avec des retours en arrière. Ceci est utile si vous avez besoin d'une instruction select composée. vous pouvez essayer si la requête le fait aussi. aussi il y a cette question: Does CodeIgniter automatically prevent SQL injection?

acclamations

Questions connexes