Tuto Livre d'or, petite question sur PDO - Apprendre-PHP.com

Rechercher
PHP5 Avancé - Eric Daspet et Cyril Pierre de Geyer - Commander sur Amazon.fr

Tuto Livre d'or, petite question sur PDO

Par Kijer -  2 reponses -  Le 28/04/2009 -  Flux RSS - 

J'ai remarqué que sur les 3 requètes , il y a n'a une en "query" et non prepare comme les autres.

 Une raison ?

 Seconde question, un peu en dehors du tuto mais ca reste le même thème !

 Tu utilises

bindParam()

pour protéger les données, sur la doc il y a aussi 

bindValue 

 pour également protéger, mais je n'ai pas compris la nuance, serai tu me l'expliquer stp ?

 

Merci

 

 

Réponses apportées à cette discussion

Par Emacs -  Le 29/04/2009 - 

Salut,

La méthode prepare() permet de réaliser des requêtes préparées, c'est-à-dire des requêtes SQL contenant des paramètres qui seront traités par le SGBD indépendamment. Une requête préparée est plus sécurisée car les paramètres sont gérés par le SGBD mais elles sont aussi plus performantes lorsqu'elles sont exécutées plus de deux fois avec avec des paramètres différents. Une requête préparée est analysée et compilée au premier appel, puis mise en cache sur le serveur afin d'être exécutée plus rapidement aux appels suivants. La méthode query() ne contient qu'une requête simple sans paramètre. De plus, elle n'est pas réexécutée dans la suite du programme, donc il n'est pas nécessaire d'utiliser prepare(), query() suffit.

bindParam() et bindValue() sont identiques mais bindParam() enregistre une variable par référence contrairement à bindValue(). Par conséquent, avec bindParam(), tu bind une seule fois et ensuite tu changes tes variables et tu exécutes ta requête préparée avec execute(). Alors qu'avec bindValue(), tu es obligé de réappeler bindValue() à chaque fois que tu souhaites changer la valeur d'un paramètre d'une requête préparée. 

 
Par Kijer -  Le 30/04/2009 - 

Ok !

Merci pour ces éclairsissements !

 

 

 

 

Ajouter une réponse à la discussion

Seuls les membres loggués sont autorisés à poster dans les forums !