[RESOLU] Code de connexion préparée.

Eléphanteau du PHP | 39 Messages

16 janv. 2015, 18:01

Bonjour,
Pourriez vous m'indiquer comment remplacer ce code en connection préparée:
$connection->query("UPDATE users SET username='$n_pseudo' WHERE username = '{$_SESSION['pseudo']}'");	

$_SESSION['pseudo'] = $pseudo;	
$connection->prepare ....................................................................

Si cela vous dit quelque chose?
:?:
Merci.

ViPHP
xTG
ViPHP | 7331 Messages

16 janv. 2015, 23:07

Tu as différents exemples sur la page de documentation de la fonction qui devraient te mettre sur la voie :
http://php.net/manual/fr/pdo.prepare.php
:)

Eléphanteau du PHP | 39 Messages

17 janv. 2015, 09:30

Il n'y a pas hélas d'exemples utilisant UPDATE sur cette page.
De surcroit, ne retirant rien à la qualité des informations fournis sur le site en question, il faut bien avouer qu'il ne s'adresse pas à des débutants.
Crois moi, je cherche beaucoup et j'avance letement.Mais un coup de pouce permet d'éviter les moments de découragements quand on est trop seul!!!!!!!!!!

ViPHP
xTG
ViPHP | 7331 Messages

17 janv. 2015, 12:32

Une requête reste une requête.
Seul le nombre de paramètres changent, que cela soit un SELECT, un UPDATE ou bien un DELETE ne change rien. :)

Ce que je veux dire c'est qu'on pourrait presque prendre l'exemple de la doc et remplacer le mot SELECT par UPDATE.
Relis donc les exemples et tentes de les comprendre.
Si tu comprend le fonctionnement d'attribution des paramètres tu pourras faire n'importe quel type de requête.

ViPHP
AB
ViPHP | 5818 Messages

18 janv. 2015, 23:46

Bonjour,
Pourriez vous m'indiquer comment remplacer ce code en connection préparée:
$connection->query("UPDATE users SET username='$n_pseudo' WHERE username = '{$_SESSION['pseudo']}'");	

$_SESSION['pseudo'] = $pseudo;	
$connection->prepare ....................................................................

Si cela vous dit quelque chose?
:?:
Merci.
Le principe est de remplacer les variables par un marqueur. Le marqueur peut être nommé avec un libelle que l'on choisi précédé de ":", ou anonyme (on dit interrogatif) avec un "?". Ensuite ont associera les marqueur aux variables en utilisant soit bind soit en passant un tableau de valeurs dans le execute().
Dans le cas de marqueurs interrogatifs les variables seront associées aux marqueurs dans l'ordre des éléments du tableau ou dans l'ordre spécifié dans le bind. Dans le cas de marqueurs nommés on les indique dans le bind ou comme index si on passe un tableau.
Exemples avec un tableau et des marqueurs interrogatifs :
$requete = $connection->prepare("UPDATE users SET username=? WHERE username = ?");	
$requete->execute(array($n_pseudo,$_SESSION['pseudo']));
Exemples avec un tableau et des marqueurs nommé (je choisi login_new et login) :
$requete = $connection->prepare("UPDATE users SET username = :login_new WHERE username = :login");	
$requete->execute(array('login_new' =>$n_pseudo, 'login' =>$_SESSION['pseudo']));
Pour continuer ta formation, en plus de l'aide du manuel il faudrait faire des tutos. Tu auras de bonnes réponses en rentrant "tuto pdo" dans un moteur de recherche (évites les tutos vidéo, c'est pas terrible pour apprendre la programmation).

Eléphanteau du PHP | 39 Messages

20 janv. 2015, 19:41

Ok merci.
Je tiendrai le plus grand compte de vos remarques!
Pour moi le sujet est résolu.Même si j'ai encore bien du travail à accomplir.
Merci.