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).