Question Mysql requête préparée

Rechercher

Question Mysql requête préparée

Par parmenion  -  6 reponses  -  Le 06/03/2009 14:06  -  Editer  - 

Bonjour,

J'utilise PDO pour me connecter à Mysql. J'ai des marqueurs google map récupéré d'une table et affiché en fonction de la vue active. A chaque glissé une requête sql avec les nouveaux paramètres de la vue active est appelé via un script php et javascript. Je suis pas certains de l'utilité d'une requête préparée dans ce cas de figure à mon avis la requête est préparé de nouveau à chaque glissé.. elle présente cependant l'avantage de protéger les variables passé à la requête. Que faire ? vérifier soi-même les variables et attaquer la base sans préparer la requête ? est-ce qu'une requête préparée est vraiment plus lente qu'une requête classique ?

Deuxième question. Je fais une requête simple avec un where sur une clé primaire donc une ligne retournée à chaque fois.Y a 'il une façon simple de récupérer cette ligne sans passé par une boucle du genre

$result = $cnx->query($sql); while ($row = $result->fetch(PDO::FETCH_OBJ)) { echo ''; }

 

Merci pour les conseils.

 

Réponses apportées à cette discussion

Par saturn1  -  Le 07/03/2009 23:02  -  Haut de page  - 

Pour ta 2e question je comprend pas trop pourqu'oi tu fais une boucle car tu dis que c'est un where sur une clé primaire? donc supposé unique?

 

Bref sinon tu peux utiliser IN() pour récupérer plusieurs d'un coup mais je comprend pas trop ce que tu veux faire !?

 
Par parmenion  -  Le 08/03/2009 00:20  -  Haut de page  - 

comment je fait pour récupérer la valeur de la ligne sans passer par une boucle ?

 
Par saturn1  -  Le 08/03/2009 11:37  -  Haut de page  - 

Bah si tu sélectionne qu'une ligne tu enlève le while. Mais si tu en sélectionne plusieurs tu es obliger de lire avec for foreach while ou do while !

 
Par parmenion  -  Le 08/03/2009 13:53  -  Haut de page  - 

ok ca fonctionne mais on est obligé de passer par un $row = $result->fetch ou autre pour récupérer une seule valeur ?

 
Par saturn1  -  Le 08/03/2009 14:56  -  Haut de page  - 

J'ai pratiqué un peu la POO et tu es obligé d'utiliser fetch, il me semble que sa transforme un objet de type PDO::Collection en tableau.

 
Par Emacs  -  Le 08/03/2009 21:43  -  Haut de page  - 

@Saturn1 : PDO::Collection ça n'existe pas ! La méthode fetch() est appelée sur un objet PDOStatement qui lui même est renvoyé lorsque tu fais une PDO->query() ou PDO->prepare().

 

Ajouter une réponse à la discussion

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

Identifiez-vous
Join |  ID/MDP? |