Menu

Je ne trouve pas mon erreur [Résolu]

Messages postés
56
Date d'inscription
mercredi 10 janvier 2018
Dernière intervention
13 novembre 2018
- - Dernière réponse : persepolis7
Messages postés
56
Date d'inscription
mercredi 10 janvier 2018
Dernière intervention
13 novembre 2018
- 9 oct. 2018 à 18:46
Bonjour,

j'essaie de supprimer un champs de ma bdd avec php mon code est incorrecte et je ne comprends pas pourquoi..




IF(isset($_SESSION) AND !empty($_SESSION)){

        IF(isset($_GET['IdComment']) AND !empty($_GET['IdComment'])){

                          echo "session et id existant";
            $delete = $database->prepare("DELETE * FROM add_comment WHERE (IdComment = ?) AND (IdBuyerC = ?)");
            $delete->execute(array($_GET['IdComment'], $_SESSION['Id']));

        }               
           
    }



j'ai bien le message d'echo qui s'affiche, mais l'erreur suivante s'affiche aussi :

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de '* FROM add_comment WHERE (IdComment = '1') AND (IdBuyerC = '1')'

PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de '* FROM add_comment WHERE (IdComment = '1') AND (IdBuyerC = '1')'
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
6229
Date d'inscription
mardi 15 mai 2012
Dernière intervention
6 décembre 2018
1
Merci
Bonjour

C'est DELETE FROM et non pas DELETE * FROM
Quand on efface un enregistrement, c'est obligatoirement l'enregistrement complet. Il est inutile - et donc pas prévu dans SQL - de préciser '*'

Merci le père. 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM a aidé 32322 internautes ce mois-ci

persepolis7
Messages postés
56
Date d'inscription
mercredi 10 janvier 2018
Dernière intervention
13 novembre 2018
-
ahhh ouii ça fonctionne merci !
le père.
Messages postés
6229
Date d'inscription
mardi 15 mai 2012
Dernière intervention
6 décembre 2018
-
De rien.

Une autre fois, jette un coup d'œil au manuel mysql avant d'appeler au secours :
https://dev.mysql.com/doc/refman/8.0/en/delete.html
persepolis7
Messages postés
56
Date d'inscription
mercredi 10 janvier 2018
Dernière intervention
13 novembre 2018
> le père.
Messages postés
6229
Date d'inscription
mardi 15 mai 2012
Dernière intervention
6 décembre 2018
-
ça marche :)
Commenter la réponse de le père.
Messages postés
56
Date d'inscription
mercredi 10 janvier 2018
Dernière intervention
13 novembre 2018
0
Merci
J'ai aussi essayé comme ceci :

... WHERE IdComment = ? AND IdBuyerC = ? ");

... WHERE (IdComment = ? AND IdBuyerC = ?) ");

... WHERE IdComment = $_GET['IdComment'] AND IdBuyerC = $_SESSION['Id'] ");
Commenter la réponse de persepolis7