Page 1 sur 2

aide pour passer de mysqli en pdo pour une requête de delete

Posté : 04 juil. 2021, 20:33
par flexi2202
bonjour a tous
j ai trouve sur le net un csript qui me permet de supprimer un utilisateur de ma zone membre
mais en mysqli
et comme tout le reste de mon site est en pdo j aurais souhaiter changer une requête mysqli en pdo

mais j ai une erreur

au sujet d un } au niveau du else

voici le morceau de code ou cela coince

merci de l aide

Code : Tout sélectionner

if($_GET['supprimer']!="ok"){ echo "<p>Êtes-vous sûr de vouloir supprimer votre compte définitivement?</p> <br> <a href='espace-membre.php?supprimer=ok' style='color:red'>OUI</a> - <a href='espace-membre.php' style='color:green'>NON</a>"; } else { //on supprime le membre avec "DELETE" // if(mysqli_query($mysqli,"DELETE FROM utilisateurs WHERE pseudo='$Pseudo'")) if( $sql = "DELETE FROM utilisateurs WHERE pseudo='$Pseudo'"); $stmt= $bdd->prepare($sql); $stmt->execute([$Pseudo]); { echo "Votre compte vient d'être supprimé définitivement."; unset($_SESSION['pseudo']);//on tue la session pseudo avec unset() } else { echo "Une erreur est survenue, merci de réessayer ou contactez-nous si le problème persiste."; //echo "<br>Erreur retournée: ".mysqli_error($mysqli); } } } //si "?modifier" est dans l'URL: ?>

Re: aide pour passer de mysqli en pdo pour une requête de delete

Posté : 04 juil. 2021, 20:39
par or 1
if(mysqli_query($mysqli,"DELETE FROM utilisateurs WHERE pseudo='$Pseudo'"))
le if se fait donc sur la méthode qui exécute la requete sql pour savoir si cela s'est passé comme attendu ou non.

if( $sql = "DELETE FROM utilisateurs WHERE pseudo='$Pseudo'");
il n'y a pas d’exécution de requête sql dans cette ligne.

et quitte à utiliser un prepare, autant ne pas mettre la valeur dans la requête.

Re: aide pour passer de mysqli en pdo pour une requête de delete

Posté : 04 juil. 2021, 20:53
par flexi2202
bonjour or
merci pour la réponse
je viens d essayer ceci

en mettant cette fois la requête avec le if

Code : Tout sélectionner

if( $pdo->prepare("DELETE FROM utilisateurs pseudo='$Pseudo'")->execute([$Pseudo]));
mais j ai encore la même erreur

du coup comment je pourrais m y prendre pour que cela fonctionne en pdo

car je n ai pas bien compris cette partie

et quitte à utiliser un prepare, autant ne pas mettre la valeur dans la requête.

Re: aide pour passer de mysqli en pdo pour une requête de delete

Posté : 04 juil. 2021, 21:48
par or 1

Code : Tout sélectionner

if( $pdo->prepare("DELETE FROM utilisateurs pseudo='$Pseudo'")->execute([$Pseudo]));
quelle est la syntaxe de base d'un if en php ?
car je n ai pas bien compris cette partie

et quitte à utiliser un prepare, autant ne pas mettre la valeur dans la requête.
prendre exemple sur post468193.html#p468193

Re: aide pour passer de mysqli en pdo pour une requête de delete

Posté : 04 juil. 2021, 22:46
par flexi2202
la voici

mais je ne vois pas le rapport

Code : Tout sélectionner

<?php if () { echo ""; } } else { echo ""; } ?>
car c est bien ce que j ai

Re: aide pour passer de mysqli en pdo pour une requête de delete

Posté : 04 juil. 2021, 22:50
par or 1
non
if( ... );
n'équivaut pas à
if ( ... ) {

Re: aide pour passer de mysqli en pdo pour une requête de delete

Posté : 04 juil. 2021, 23:05
par flexi2202
ah ok
j ai donc donc supprime le ;
je n ai plus d erreur mais lorsque je veux supprimer le compte rien ne se passe dans la base de donnée

Re: aide pour passer de mysqli en pdo pour une requête de delete

Posté : 04 juil. 2021, 23:20
par or 1
DELETE FROM utilisateurs pseudo='$Pseudo'

cela fonctionne dans phpmyadmin (en mettant une valeur correcte pour le pseudo) ?

Re: aide pour passer de mysqli en pdo pour une requête de delete

Posté : 04 juil. 2021, 23:33
par flexi2202
lorsque je fais un echo de

Code : Tout sélectionner

<?php echo $Pseudo; ?>
dans le html j ai bien mon pseudo qui apparaît
donc je ne vois pas bien
pourquoi rien ne se passe avec le code

Re: aide pour passer de mysqli en pdo pour une requête de delete

Posté : 04 juil. 2021, 23:35
par or 1
cela fonctionne dans phpmyadmin (en mettant une valeur correcte pour le pseudo) ?

Re: aide pour passer de mysqli en pdo pour une requête de delete

Posté : 04 juil. 2021, 23:37
par flexi2202
avec une valeur correcte c est a dire

Re: aide pour passer de mysqli en pdo pour une requête de delete

Posté : 04 juil. 2021, 23:38
par flexi2202
cela fonctionne avec le code mysqli mais pas en pdo

Re: aide pour passer de mysqli en pdo pour une requête de delete

Posté : 04 juil. 2021, 23:39
par or 1
DELETE FROM utilisateurs pseudo='$Pseudo'

sauf à ce que l'utilisateur ai vraiment comme pseudo $pseudo, il faut remplacer ce qu'il y a entre ''

Re: aide pour passer de mysqli en pdo pour une requête de delete

Posté : 04 juil. 2021, 23:41
par flexi2202
je viens d essayer et j ai une erreur

Requête SQL :


DELETE FROM utilisateurs pseudo='phil1'
MySQL a répondu : Documentation

#1064 - Erreur de syntaxe près de 'pseudo='phil1'' à la ligne 1

Re: aide pour passer de mysqli en pdo pour une requête de delete

Posté : 04 juil. 2021, 23:42
par or 1
et avec la requête lancée en mysqli ?