Requete DELETE qui s'execute pas PHP/MYSQL

ibrahim1987 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -  
cyril1982 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis débutant en PHP.J'essaye de faire un site de news (football) .
j'ai fait un scrypt pour effacer la news dont l 'id' est envoyé en url .Dans le fichier suppr.php , je récupere l'id' (ça fonctionne ,testé avec echo).mais au niveau de la supression , ça plante.

le scrypt me renvoi le message de confirmation de la supression de la news ,mais celle-ci est toujours dans la BD.( aucun message d'erreur n'est affiché).

Je vous remercie d'avance de votre aide .

Voici mon code:

<?php
   try
{
$connexion=new PDO('mysql:host=localhost;dbname=newsdufoot','root','');
}
catch (Exception $e)
  {
  die ('erreur:'. $e->getMessage());
  }
                 if(isset($_GET['id']))
                        {
 
    $suppr=$connexion->prepare('DELETE * FROM les_news WHERE id=?')  or 

die(print_r($connexion->errorInfo()));       
                       
             $suppr->bindParam(1, $_GET['id']);
               $suppr->execute();

          if($suppr)

                           {
                               
                            echo ('news supprimée </br>');
                             echo('<a href="opera_sur_news.php">retour</a>');                                
                              }

          elseif($suppr=0)  

                            {
                            echo(' erreur');        
                    
                             }
}

else

{ 
echo ('id inexistant');
}
        
        
 
 ?>




A voir également:

1 réponse

cyril1982 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   12
 
Bonjour,

Il semble y avoir plusieurs erreurs dans ton script :
$suppr->execute();

 if($suppr)
{
  echo ('news supprimée </br>');
  echo('<a href="opera_sur_news.php">retour</a>');                                
}
elseif($suppr=0)  
{
  echo(' erreur');                            
}


Cela devrait plutôt être :

 
$result = $suppr->execute(); 

if($result) // C'est le retour de la fonction qu'il faut tester
{
   echo ('news supprimée </br>');
   echo('<a href="opera_sur_news.php">retour</a>');                                
 }
else  // Il manquait un égal ( = au lieu de == )
{
   echo(' erreur');        
 }



Cela doit être à cause de ces erreurs que tu n'obtiens pas d'erreur lors de l'exécution de ton script.

Piste pour la non suppression de ton enregistrement :
Peut-être que tu n'a pas les droits de "delete" sur la base de données.

Bonne recherche.
0