Requêtes préparées en PDO

Résolu/Fermé
Majda_La Messages postés 49 Date d'inscription vendredi 8 avril 2016 Statut Membre Dernière intervention 23 juin 2017 - Modifié par Majda_La le 16/06/2016 à 13:56
Majda_La Messages postés 49 Date d'inscription vendredi 8 avril 2016 Statut Membre Dernière intervention 23 juin 2017 - 17 juin 2016 à 13:10
Salut tout le monde :)

J'ai un petit problème en requêtes préparées en PDO :(

Ce que je sais faire c'est : $pdo=$bd>prepare($reqûete);

mais des fois je trouve PDO::prepare() .

SVP, si quelq'un a la gentillesse de m'éclairer cette requête :) et la différence entre les 2 requêtes c'est Urgent

Merci d'avance :)

1 réponse

nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 251
16 juin 2016 à 15:53
Salut,

Déjà
$pdo=$bd>prepare($reqûete); 
ne fonctionnera pas ^^ (manque un tiret) bref =p

Bon sinon si c'est "urgent" ... dans quels cas tu trouve la syntaxe PDO:: ?

Concrètement c'est pas compliqué, faire
PDO::prepare()
indique que tu veux faire appel à la fonction prepare de type PDO, tandis que
$bd->prepare($reqûete) 
est l'appel de la fonction prepare depuis un objet de type pdo.
Concrètement c'est bien la même fonction appelé, mais pour avoir un appel ' :: ' ca sous entend que tu veux acceder à quelque chose de static (pas d objet).

naga
0
Majda_La Messages postés 49 Date d'inscription vendredi 8 avril 2016 Statut Membre Dernière intervention 23 juin 2017
16 juin 2016 à 19:08
Merci pour votre réponse :)

voici où j'ai trouvé pdo::prepare() :
public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )

Voici le lien : https://www.php.net/manual/fr/pdo.prepare.php

1) vous pouvez me clarifier la différence entre ' :: ' et ' -> ' svp ?

2) Vous avez dit que '::' c'est un appel pour accéder à quelque chose static ; voici un petit exemple que le prof nous le donne , qu'est ce que signifie la dernier requête : PDO::FETCH-OBJ ?

$prepa$ta = $bd->prepare[SELECT 'bdcommercial'.'FonctionPTTC (:PARAM1,PARAM2) AS prixTTC : ' ]

$prepa$ta->execute($values);

if($resultat=$prepa$ta->fetch (PDO::FETCH-OBJ)){
$valeurRetournee=$resultat -> prixTTC ;
}

merci :)
0
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 251
17 juin 2016 à 08:35
Ok c est ce que je pensais, ce que tu as trouvé c'est juste le prototype de ta fonction, donc pour faire plus simple les :: veulent juste dire que prepare appartient a la classe pdo.

Et quand tu crée un objet PDO, l appel se fera grâce à ->, c'est tout.

Pour PDO::FETCH-OBJ, tu appel une variable statique (c'est a dire qu elle ne demande pas nécessairement qu'un objet existe pour pouvoir être lu, en gros) appartenant au type PDO.

Je vais pas trop rentrer dans les explication des classes statiques, ca sera long et hors contexte.

naga
0
Majda_La Messages postés 49 Date d'inscription vendredi 8 avril 2016 Statut Membre Dernière intervention 23 juin 2017 > nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023
17 juin 2016 à 12:14
J'ai bien compris =D

Merci Naga :)
0
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 251
17 juin 2016 à 12:58
parfais pas de soucis ^^ bon dev!
naga
0
Majda_La Messages postés 49 Date d'inscription vendredi 8 avril 2016 Statut Membre Dernière intervention 23 juin 2017 > nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023
17 juin 2016 à 13:10
merci beaucoup :)
0