Menu

Je ne trouve pas mon erreur [Résolu]

persepolis7 52 Messages postés mercredi 10 janvier 2018Date d'inscription 9 octobre 2018 Dernière intervention - 9 oct. 2018 à 17:20 - Dernière réponse : persepolis7 52 Messages postés mercredi 10 janvier 2018Date d'inscription 9 octobre 2018 Dernière intervention
- 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

5 réponses

Meilleure réponse
le père. 6197 Messages postés mardi 15 mai 2012Date d'inscription 19 octobre 2018 Dernière intervention - 9 oct. 2018 à 17:46
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 24711 internautes ce mois-ci

persepolis7 52 Messages postés mercredi 10 janvier 2018Date d'inscription 9 octobre 2018 Dernière intervention - 9 oct. 2018 à 17:50
ahhh ouii ça fonctionne merci !
le père. 6197 Messages postés mardi 15 mai 2012Date d'inscription 19 octobre 2018 Dernière intervention - 9 oct. 2018 à 18:28
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 52 Messages postés mercredi 10 janvier 2018Date d'inscription 9 octobre 2018 Dernière intervention > le père. 6197 Messages postés mardi 15 mai 2012Date d'inscription 19 octobre 2018 Dernière intervention - 9 oct. 2018 à 18:46
ça marche :)
Commenter la réponse de le père.
persepolis7 52 Messages postés mercredi 10 janvier 2018Date d'inscription 9 octobre 2018 Dernière intervention - 9 oct. 2018 à 17:29
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