Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zér0 > Les tutoriels > Non-Officiels > Site Web > PHP > Base de données > Lecture des commentaires

Vos commentaires sur :
Requête Préparée

Retour au tutoriel

Vous devez être inscrit pour pouvoir poster des messages

Page : 1 
Pseudo Commentaire
Page : 1 
Hors ligne DeHix # Posté le 21/02/2006 11:03:07
Ce serait bien si j'en avais..
Avatar
Groupe : Membres
assez bon tuto 17/20
Hors ligne Kermi # Posté le 11/04/2006 23:09:54
www.lyokodreamers.com
Avatar
Groupe : Membres
il y a un truc que j'ai pas compris :

cela baisse t-il le nombre de requêtes (=optimisation) ???

je ne note pas car j'ai regardé vite fait, mais ca m'as pas l'air mal... si il y aurai des favoris coté tutos je le stockerai pour le lire tranquille demain, bah ca sera en bordel dans les marque pages :p

++
 
Hors ligne Draeli # Posté le 14/04/2006 23:05:23
Groupe : Membres
Oui il y a bien optimisation mais sous certaines conditions comme c'est expliqué.
A savoir que plus une requête est appellé souvent et plus ca a d'intérêt, avec cependant un bémol du au faite que cela ne sert que pour une session donné.
Ainsi tous reste à savoir dans quel cadre on veux l'utiliser sinon il reste les procédures stockés dont je dois rédiger un tuto quand j'aurais un peu de temps.

Jedi PHP (Certifié Zend PHP) - Jedi MySQL (Certifié MySQL Core) - Padawan MySQL 5
Le côté obscur de la force bientôt rejoins ai-je ! :-°
 
Hors ligne Shepard # Posté le 11/05/2006 07:46:59
SQL Beginner ...
Avatar
Groupe : Membres
Bon tuto ( à part pour les fautes d'orthographe :p ;) )

Par contre il faudrait peut-être penser à ajouter une note sur les connections persistantes ? ( bien pratiques dans ce cas ci justement ).

Mais si tu le fais, pense à signaler que toutes les variables de l'ancienne session sont gardées et qu'il ne faut pas s'y fier ( il faut faire un Code : SQL
SET @var = 0
et pas directement un Code : SQL
IF( @var IS NULL, @var := 1, @var := @var + 1 )
, car sinon la variable vaudra peut-être 28408 dès la première itération, alors qu'on voudrait commencer à 1 ... )

Sinon il faut aussi savoir que MySQL optimise automatiquement les requêtes appelées plusieurs fois, donc bon pas d'inquiétudes ;) :)

Et puis enfin, pour utiliser un prepared statement, on n'est pas _obligé_ d'utiliser une variable, ça marchera parfaitement si vous mettez Code : SQL
EXECUTE req USING 'valeur';


Bon tuto ;) J'ai mis 15 :)

Sorry si ma signature a gêné, j'avais pas vu le sujet sur DG ... :s
 
Hors ligne infotoubib # Posté le 19/05/2006 21:38:57
Avatar
Groupe : Membres
Merci pour ce tuto que je trouve très clair...
Je garde cela en mémoire pour des applications utilisant beaucoup la base de données, pas forcément en PHP d'ailleurs...

http://si2ra.ouvaton.org : Si2Ra, un CMS francophone pensé pour les intranets
 
Hors ligne Draeli # Posté le 29/05/2006 13:51:50
Groupe : Membres
Je n'ai pas parlé de connexion persistante car ce concept est abstrait pour MySQL dans la mesure ou c'est l'application appellante (terme qui se veux ici générique et qui prend par exemple en compte le mysql_connect de php (exemple parmis tant d'autres)) qui défini le moment de connexion et d'interruption.

Jedi PHP (Certifié Zend PHP) - Jedi MySQL (Certifié MySQL Core) - Padawan MySQL 5
Le côté obscur de la force bientôt rejoins ai-je ! :-°
 
Hors ligne Gectou4 # Posté le 18/07/2006 12:11:39
Daijobu ka ?
Avatar
Groupe : Membres
bien simpa mais là je me pose une question que beacoup doivent ce posé si il débute d'ailleur

tu met un ? pour d'ésigner une variable, et si je dois mêtre deux variable ou plus dans ma requête ?
je met x point d'intergoation ?

qu'elle sera alors l'assignation logique ?

(sinon il me semble que session c'est féminin ^^)

tuto très intéréssant :)

Citation : Moi même
Mateo ... Poil au Zéro ! :D

Image utilisateur
Image utilisateur
 
Hors ligne Lord Katen # Posté le 20/07/2006 15:27:03
Jack Bauer.
Avatar
Groupe : Membres
Il me semble que l'extension mysqli dispose de fonctions toutes pretes pour exploitées les possibilitées des requetes préparées, j'ai lu ca dans php5 avancé

Je ne négocie pas avec les terroristes.

Pour ceux qui projettent de devenir des habitués d'Urban Terror.. : http://iuwt.fr & #sdz-urt @ irc.epiknet.org
 
Hors ligne Draeli # Posté le 21/07/2006 16:58:26
Groupe : Membres
Pour mysqli je ne vois pas ce à quoi tu fais référence, il me faudrait un lien vers ce dont tu parles pour te dire.
Sinon pour Php5, tu disposes désormais de l'extension PDO qui elle inclu aussi un principe de requête préparé (ca dépend aussi du drivers lié au SGBD).

Pour les ?, tu peux en mettre plusieurs. Lors de l'appel d'une requête, tu devras séparer les variables par une virgule et mettre autant de variable qu'il y a de ?.

Edit : j'ai fais une mise à jour du tuto pour répondre à la question, en attente de la validation.

Jedi PHP (Certifié Zend PHP) - Jedi MySQL (Certifié MySQL Core) - Padawan MySQL 5
Le côté obscur de la force bientôt rejoins ai-je ! :-°
 
Hors ligne Awaken # Posté le 13/08/2006 11:58:11
Avatar
Groupe : Membres
Assez bon tuto, cependant tu aurais pu montrer un exemple dans un page web parce que je comprend pas très bien un truc :

Par exemple, sur toutes les pages de mon site je fais une requête sur la personne connectée

Code : PHP

$sql = 'SELECT * FROM users WHERE userid = ' . $_SESSION['userid'];


Comme cette requête est répétée beaucoup de fois, il serait bien d'en faire une requête préparée mais je vois pas comment. Dans le header je mettrai un PREPARE xxx FROM et ensuite un EXECUTE ?

Je sais pas si tu comprends ma question^^

The greatest trick the Devil ever pulled was convincing the world he didn't exist.
 
Hors ligne galize # Posté le 24/08/2006 12:17:01
Zut
Groupe : Membres
Clair et concis.

Galize
 
Hors ligne Chaoxys # Posté le 19/11/2006 13:08:24
Gros zéro :p
Avatar
Groupe : Membres
Bon tuto !
Hors ligne Gaga971 # Posté le 28/04/2007 15:30:02
Programmeur indépendant
Avatar
Groupe : Membres
C'est super!!!!!Un tres bon tutorial que j'avais plusieurs fois traversé mais jamais j'ai pris mon temps pour le lire.
Et là ben je trouve cela très bien expliquén dommage que l'on traite pas les connection persistante qui m'interesse bcp :(

Je met 17/20 ;)


 
Hors ligne thib # Posté le 20/05/2007 16:53:54
Apprenti Linuxien
Avatar
Groupe : Membres
Bon tuto, j'ai mis 15, seulement je ne comprend pas bien en quoi les requêtes préparées permettent d'éviter les injections sql? :o De plus je ne vois pas quel est l'avantage d'utiliser les requêtes préparées si comme le dit sherpard mysql automatise les requêtes tout seul lorsqu'on les répète? :euh: Voilà, merci d'avance... :p

Image utilisateur
 
Hors ligne Jerry Wham # Posté le 14/06/2007 14:41:27
1castorMangé,1arbreSauvé
Avatar
Groupe : Membres
Salut,

Ton tuto est bien expliqué et me sera surement utile dans un proche avenir.

Le seul bémol sont les fautes d'orthographe plus énormes les unes que les autres.
Il faudrait te relire avant de poster. Demande de l'aide aux zcorrecteurs si tu veux.

J'ai relevé, en première lecture, les plus énormes. Il se peut qu'il en reste. Tu devrais corriger.

Les voici.

Citation : TUTOTEUR
Lors de l'appel à cette fonction, plusieurs paramètres vont être fournis qui, s'ils sont correctes...


C'est masculin, donc pas de "e".

Citation : TUTOTEUR
...la connexion ce terminera soit...


Un "s" serait plus approprié.

Citation : TUTOTEUR
Ainsi durant cette intervalLE, si une requête ayant toujours le même aspect (dont seul les paramètres changent) est répétéE plusieurs fois...


Citation : TUTOTEUR
...ayant en identifiant du nom de 'test'...


"u" serait mieux non ?

Citation : TUTOTEUR
..dans le cas ou vous...


On ne peut pas le remplacer par "ou bien" car il n'indique pas une coordination. C'est donc "où" qu'il faut mettre.

Citation : TUTOTEUR
...(MySQL effectuE un DROP PREPARE ...


Citation : TUTOTEUR
...l'appel ce fera sous la même forme, la seulE différence étant...comprendra chaque variable séparéE par une virgule et le nombre de variableS devra être égal au nombre de ?.


Citation : TUTOTEUR
...en manipulant des sessions afin de voir exactement ce qu'il ce passe et permettra à ceux n'ayant pas tous compris de lever le voile à travers une manipulation qui se veux simple mais néanmoins complète.


Même remarque que précédemment : "se" et non "ce", "tout" et non "tous", "veut" et non "veux"

Citation : idem
La si vous avez effectué correctement la manipulation,...la forme : mysql>, ce prompt est juste la comme point de repère...



"là" et non "la".

Citation : IDEM
...le prompt à changé :) ...


Là, c'est l'inverse (a au lieu de à).

Citation : idem
...cela vous indique que vous avez deux sessions de lancéEs...la base de données ou ce trouve l'utilisateur...qui vous permet de voir le session qui a effectué le SHOW processlist;. A ce stade la nous voyons que chaque session...


"où", "se" et "là".

Citation : idem
Ceci nous a permis de créer une base de données appeléE world et de ce rendre dessus. ...ouvrez le répertoire ou il est stocké. ...Maintenant, tapez => source mais sans valider puis faite glisser le fichier world.sql dans la fenêtre ou vous avez tapez ceci... les tables et les enregistrements sont en cours de créations (pas de "s" ici). Nous allons vérifier que tous c'est bien passé en tapant ceci :SHOW TABLES la vous aurez 3 tables si tous c'est déroulé correctement (de toute façon dans le cas contraire vous aurez 1-N bips vous signalant des erreurs, ce en quoi (?) vous avez fais une mauvaise manipulation).


Citation : idem
Mettez vous sur l'une des deux fenêtreS sur laquelLE vous resterez...Vous pouvez bien sur remplacer ...Ainsi une fois que vous aurez modifiez la variable à l'aide de SET,...ceci est dû au fait que la requête préparée demandéE n'est pas trouvée.


Citation : idem
Cette partie est la afin de développer tous les termes qui peuvent paraître obscurS de prime abord...Cette session est régit...(sachant que ceci peux (ceux-ci peuvent) aussi être régléS au niveau du serveur)....Ses moteurs ont des caractéristiques qui leurs sont propres et qui devront être choisiS ...Les spécificitées de chaque moteur sera fait(seront traitées) dans un futur tutorial pour des raisons pratiques... afin de désigner les processus sans interface et qui ne proposeNT comme...Les variables à portées globales, qui sont désignéEs par @@ et les variables à portées de sessions, qui comme le nom l'indique ne sont valableS que dans l'espace de la session et qui peuvent donc varier d'une connexion à l'autre....alors il sera (saura) qu'il a 2H d'avance...ce type de requêtes peux s'avérer trés utile quand il s'agit d'optimiser des requêtes qui seront appeléEs plusieurs fois durant la session d'un utilisateur mais que (dont)l'usage reste restreint.


Voilà. J'espère que tu corrigeras car ton tuto n'en sera que meilleur.

Je te mets 18 pour le tuto mais j'enlève 8 points pour l'orthographe, ce qui te fait 10.

A plus. :p
 
Hors ligne Draeli # Posté le 04/08/2007 12:20:47
Groupe : Membres
Vu que tu as pris le temps de lire et corriger, j'ai pris le temps d'aller modifier une partie de ce que tu as remonté comme erreurs. Les modifications seront donc effectives dés la validation d'un correcteur :)

Après coup je m'aperçois que :
1 : même quand on ce reli, en ayant le nez sur le texte des fois on rate des trucs horrifiants (typiquement le ez au lieu de é ...)
2 : un tutorial du zéro sur le Français et les 'astuces' comme pour le où/ou serait le bienvenue (pour le à/a je me souviens qu'il faut remplacer par 'avait' et que si ca choque l'oreille, on colle l'accent)
3 : il ne faut pas écrire du tuto sous perfusion de café (un peu comme aujourd'hui)

En tous cas, merci du temps que tu as passé dessus, par contre j'ai laissé certaines choses dedans n'étant pas tout à fais d'accord (comme le tous/tout (non, pas le chien :D) )

Jedi PHP (Certifié Zend PHP) - Jedi MySQL (Certifié MySQL Core) - Padawan MySQL 5
Le côté obscur de la force bientôt rejoins ai-je ! :-°
 

Vous devez être inscrit pour pouvoir poster des messages

Retour au tutoriel

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | Fil RSS | XHTML 1.0 | CSS 2.0
Édité par Simple IT SARL : Nous contacter | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 346 Zéros connectés | Requêtes SQL 7 requêtes | Temps de génération de la page : Total (SQL) 0.0352s (0.0211s)