Page 1 sur 1

Suppression dans la bdd

Posté : 16 févr. 2012, 19:00
par Evolved
Bonjour,

J'ai un petit problème, je reçois une Parse error: syntax error, unexpected T_VARIABLE, voici le code:
(le but de ce code est de supprimer une ligne dans la bdd après avoir entrer le numéro de l'id dans un formulaire depuis une page admin)
<?php
// On commence par récupérer les champs
if(isset($_POST['id']))      $id=$_POST['id'];
else      $id="";

// On vérifie si les champs sont vides
if(empty($id))
    {
    echo '<font color="red">Un ou des champs sont vides !</font>';
    }

// Aucun champ n'est vide, on peut enregistrer dans la table
else     
    {
       $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=localhost;dbname=bd_garage', 'root', '', $pdo_options);

	
$sql = "DELETE FROM occasions WHERE id ="$id"";
echo $sql ;
// Si il y a une erreur.
$result = mysql_query($sql) or die ("Exécution de la requête impossible");   
if($result)
{
echo("La suppression à été correctement effectuée") ;
}
else
{
echo("La suppression à échouée") ;
}
}
?>
d'après mes recherches ça pourrait être la variable $id qui n'est pas connu, mais elle est pourtant déclaré au début :x ? la ligne qui renvoie l'erreur est : $sql = "DELETE FROM occasions WHERE id ="$id"";
(le echo ne renvoie rien)

Re: Suppression dans la bdd

Posté : 16 févr. 2012, 19:16
par Thibaud C
Hello,

hum essaie plutot
$sql = "DELETE FROM occasions WHERE id ='$id'";
car la je pense qu'il n'aime pas beaucoup tes doubles doubles cotes
ou
$sql = "DELETE FROM occasions WHERE id =".$id."";
si t'y tiens vaiment :) !

Re: Suppression dans la bdd

Posté : 16 févr. 2012, 19:26
par Evolved
ça marche un peu mieux ^^

Mais le echo renvoie maintenant :
DELETE FROM occasions WHERE id ='26'Exécution de la requête impossible

Le formulaire et la variable fonctionne bien apparemment mais le code ne peut pas exécuté la requête ?

Re: Suppression dans la bdd

Posté : 16 févr. 2012, 19:34
par Thibaud C
tu as testé le echo de ta requête dans phpmyadmin ?

Re: Suppression dans la bdd

Posté : 16 févr. 2012, 19:40
par Evolved
oui, elle fonctionne, c'est peut-être la connexion à la bdd de données qui pose problème ?
(pourtant c'est les même infos de connexion que j'ai utiliser pour ajoutés des entrées dans la bdd et ça ça fonctionne)

Re: Suppression dans la bdd

Posté : 16 févr. 2012, 20:01
par xTG
Tu mélanges l'interface PDO et les fonctions mysql_xxx.
Soit tu utilises le jeu de fonction de l'un ou de l'autre, mais faut pas mélanger les deux. ;)

Re: Suppression dans la bdd

Posté : 16 févr. 2012, 20:17
par Thibaud C
$bdd->query('ma requete');

Re: Suppression dans la bdd

Posté : 16 févr. 2012, 21:03
par Evolved
C'était bien ça, merci à vous deux ;)
voici la ligne correct:
$bdd->exec("DELETE FROM occasions WHERE id ='$id'");
(query pour SELECT et exec pour INSERT, UPDATE et DELETE)

Re: Suppression dans la bdd

Posté : 16 févr. 2012, 21:06
par Thibaud C
Hum a oui :P la PDO ca remonte a loin dsl :P