Phpmyadmin modifier une variable
Résolu
jobouille
Messages postés
286
Date d'inscription
Statut
Membre
Dernière intervention
-
jobouille Messages postés 286 Date d'inscription Statut Membre Dernière intervention -
jobouille Messages postés 286 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai fait un petit formulaire que chaque membre de mon site ont.
Ils doivent écrire un pseudo dans un input et en cliquant sur "envoyer", la variable/colonne "mp" doit passer à 1 dans la ligne du pseudo choisit.
Voici ce que j'ai fait qui ne fonctionne pas :
Merci et bonne soirée
j'ai fait un petit formulaire que chaque membre de mon site ont.
Ils doivent écrire un pseudo dans un input et en cliquant sur "envoyer", la variable/colonne "mp" doit passer à 1 dans la ligne du pseudo choisit.
Voici ce que j'ai fait qui ne fonctionne pas :
if(isset['envoyer'] AND isset($_POST['destinataire'])) { $destinataire = htmlspecialchars($_POST['destinataire']); $mp1 = $bdd->prepare('UPDATE membres SET mp = 1 WHERE destinataire = ?'); $mp1->execute(array($destinataire)); }
Merci et bonne soirée
A voir également:
- Phpmyadmin modifier une variable
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
- Modifier une story facebook - Guide
- Modifier extension fichier - Guide
- Vous avez besoin d'une autorisation de la part de système pour modifier ce dossier - Guide
1 réponse
Bonsoir,
Pour comprendre où se situe le souci il faut que fasses des ECHO (ou des print_r) de tes variables.....
et pour cela : Sorts la requête de son exécution ... comme ceci :
Ensuite, si Params contient bien la valeur attendue ..... tu prends la requête... tu remplaces ton "?" par la valeur contenue dans $params .... et tu vas la tester DIRECTEMENT dans ta Base de données..
par exemple : https://codes-sources.commentcamarche.net/faq/10778-heidisql-tester-ses-requetes-sql
Pour comprendre où se situe le souci il faut que fasses des ECHO (ou des print_r) de tes variables.....
et pour cela : Sorts la requête de son exécution ... comme ceci :
if(isset['envoyer'] AND isset($_POST['destinataire'])){ $destinataire = htmlspecialchars($_POST['destinataire']); $sql = "UPDATE membres SET mp = 1 WHERE destinataire = ?"; $params = array($destinataire); // Le temps des tests : echo " <pre>Requête : <br>".$sql; echo "<br> Params :<br>"; print_r($params); echo "</pre>"; $mp1 = $bdd->prepare($sql); $mp1->execute($params); }
Ensuite, si Params contient bien la valeur attendue ..... tu prends la requête... tu remplaces ton "?" par la valeur contenue dans $params .... et tu vas la tester DIRECTEMENT dans ta Base de données..
par exemple : https://codes-sources.commentcamarche.net/faq/10778-heidisql-tester-ses-requetes-sql
Cependant, le mp ne passe pas à 1 :/
Voilà le résultat ce que les echo m'affichent :
Requête :
UPDATE membres SET mp = 1 WHERE pseudo = ?
Params :
Array
(
[0] => jobouille
)
Merci
Ben non... puisqu'elle est dans la variable $params ...
Comprends tu ce que tu fais ?
Et donc... as tu testé ta requête en direct dans ta BDD ?
Si (et seulement SI ) cette requête fonctionne correctement dans ta BDD ... tu peux essayer ceci :
Issu des exemples de la page : https://www.php.net/manual/fr/pdostatement.execute.php
(exemple 2 )
COMMENT AS TU TESTE CETTE REQUETE ??
En direct dans ta BDD (comme je te le demande depuis le début) ou dans ton code PHP (ce qui ne sert à rien ! ) ???
Dans la requête c'est égal à 0 et dans la BDD aussi.