[RESOLU] Problème requete UPDATE

Eléphant du PHP | 133 Messages

30 avr. 2021, 11:07

Bonjour

j'ai déjà fais des requêtes de mise à jour (UPDATE) qui fonctionne sans problème, mais je bug et ne trouve pas l'erreur.

Je fais donc une requête de mise à jour de mot de passe. Pour vérifier le fonctionnement de la requête, je mets le mot de passe en clair de manière exceptionnelle.

Ma base de données ne se mets pas à jour alors que mes ECHO affiche les valeurs.

Je n'arrive pas à trouver le problème. Pouvez-vous m'aider?

Code : Tout sélectionner

$pass_hash = password_hash($NouveauPassword, PASSWORD_DEFAULT); $Identifiant = $_POST['Identifiant']; $clair = $NouveauPassword; echo '<pre>'; print_r($pass_hash); echo '</pre>'; echo '<pre>'; print_r($Identifiant); echo '</pre>'; echo '<pre>'; print_r($clair); echo '</pre>'; $sql = "UPDATE `t_bureau` SET `Passwords`=:Passwords, `Clair`=:Clair WHERE`Identifiant`=:Identifiant"; $query = $db->prepare($sql); $query->bindParam(':Clair', $Clair, PDO::PARAM_STR); $query->bindParam(':Identifiant', $Identifiant, PDO::PARAM_STR); $query->bindParam(':Passwords', $pass_hash, PDO::PARAM_STR); $query->execute();
Dans le même fichier, j'ai des requêtes SELECT qui fonctionne, donc ma connexion est bonne.

Avatar du membre
Eléphant du PHP | 70 Messages

30 avr. 2021, 11:18

Salut,

Dans un premier temps, sache que print_r n'est utile que pour afficher le contenu d'un tableau. S'il s'agit d'une simple variable, utilise plutôt un echo ou un print. Le <pre> sert à afficher le tableau d'une manière plus structuré.

Ensuite, ta variable qui contient ton mdp en clair est $clair, hors tu essaye d'envoyer $Clair dans ta requête (Avec une majuscule)
$query->bindParam(':Clair', $Clair, PDO::PARAM_STR);
Qu'utilise tu comme éditeur de texte ? Il aurait normalement du te montrer que les 2 variables ne sont pas les même, et aussi te proposer de l'auto-complétions pour éviter ce genre de problème :priere:
" La révolution informatique fait gagner un temps fou aux Hommes, mais ils le passent avec leur ordinateur ! " by Khalil Assala