Question Mysql requête préparée
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
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 !?
comment je fait pour récupérer la valeur de la ligne sans passer par une boucle ?
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 !
ok ca fonctionne mais on est obligé de passer par un $row = $result->fetch ou autre pour récupérer une seule valeur ?
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.
@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().