2010-05-02 7 views
4

Question rapide, est-ce que Kohana (version 3) échappe automatiquement les données transmises dans ORM :: factory ..... (et partout ailleurs dans la base de données)?Kohana v3, échapper automatiquement les caractères illégaux?

Par exemple:

$thread = ORM::factory('thread', $this->request->param('id')); 

Est-ce que les données transmises dans le deuxième argument auto-être échappées avant qu'il va dans la requête SQL ou dois-je faire manuellement? Probablement une question stupide et il vaut mieux prévenir que guérir, mais ouais ... Je fais d'habitude échapper manuellement les données, mais je veux savoir si Kohana fait ça pour moi?

Merci

Répondre

6

Il est auto-échappé. Le seul scénario où vous devez vous inquiéter de l'échappement est si vous écrivez votre propre SQL et insérez vos données directement (par le biais de la concaténation, par exemple), ce que vous ne devriez pas faire. Les méthodes normales d'interrogation d'une base de données dans Kohana sont des requêtes paramétrées (si vous avez besoin de fournir le SQL vous-même), le query builder et l'ORM, qui gèrent tous l'échappement pour vous.

+0

Pouvez-vous me montrer où il est dit qu'il lui échappe? ou avez-vous regardé le code? Je n'ai pas pu trouver quoi que ce soit sur le site quand j'ai regardé. – Galen

+0

@Galen: Désolé pour la réponse tardive - voir les documents pour le générateur de requête (qui est ce que ORM utilise en interne): http://docs.kohanaphp.com/libraries/database/builder#limitations –