Probleme d'exécution d'un requete avec un parametre récupéré d'un lien ... [Résolu]

Signaler
Messages postés
20
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
2 août 2006
-
Messages postés
20
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
2 août 2006
-
Salut à
vous ... voila j'ai un petit problème avec l'exécution d'une requête
"delete" contenant une variable que je passe par un lien.

J'ai deux pages, une admin.php et une EffacerMessage.php.

Dans ma page admin je crée un tableau en le remplissant avec le contenu de ma
BDD (mySQL). Les cases de la dernière colonne de ce tableau contiennent des
liens qui sont généré dynamiquement, ils contiennent l'ID de la ligne à
laquelle ils correspondent dans la base de données. (du type
.../EffacerMessage.php?ID= 4)

Lorsque je clique sur le lien généré, je lance une seconde page php appelée EffacerMessage.php
qui a pour but d'effacer la ligne dans la base de donnée dont l'ID a été placée
dans le lien.

Le problème c'est que je n'arrive pas a exécuter ma requête!

Il n'y a aucune erreur de renvoyé par php, et ma variable est bien reconnue car
si je fais un echo"$id"; j'ai la bonne valeur qui s'affiche a l'écran.

C'est certainement une erreur toute bête mais je ne m'en sors plus !!

Merci de votre aide à l'avance.



code de admin.php

<head>

<?php

// Fonction de connexion a la base de donnée

function connectionBDD()

{

$Hote = 'adrMabase';

$Utilisateur = 'user';

$MDP
='******.';


$BDD='MaBase';



// connexion au serveur

$connexion=mysql_connect($Hote,
$Utilisateur, $MDP) or die("impossible de se connecter: "
.mysql_error());

// sélection de la base de
donnée

mysql_select_db($BDD) or die ("impossible de sélectionner une base
de donnée: " .mysql_error());

return $connexion;

}



// fonction de déconnexion de la base de donnée

function deconnectionBDD($connexion)

{

mysql_close($connexion);

}



// fonction d'envois d'une requête simple

function envoisRequete()

{

$connexion=connectionBDD();

$requete = "SELECT * FROM contacts";

$resultat = mysql_query($requete,$connexion);

deconnectionBDD($connexion);

return $resultat;

}

?>

</head>





<?php

// appelle de la fonction d'envois de la requête,
et résultat sotcké dans la variable

$resultat =envoisRequete();
$resultat

echo"\";

echo \"----
Pseudo, Groupe Favori, Message, Action, \";

while($tableau= mysql_fetch_array($resultat,MYSQL_NUM))

{

$ID=$tableau[0];

$Prenom=$tableau[1];

$GroupFav=$tableau[3];

$Message=$tableau[4];

// Création graphique du
tableau

echo \"----
$Prenom, $GroupFav, $Message, , \";

}

echo"
";

?>





code de EffacerMessage.php



<head>

<?php


// Fonction de connexion a la base de donnée

function connectionBDD()

{

$Hote = 'adrMaBase';

$Utilisateur = 'user';

$MDP ='******';

$BDD='MaBase';



// connexion au serveur

$connexion=mysql_connect($Hote, $Utilisateur, $MDP) or die("impossible de se connecter: " .mysql_error());

// sélection de la base de donnée

mysql_select_db($BDD) or die ("impossible de sélectionner une base de donnée: " .mysql_error());

return $connexion;

}

// fonction de deconnexion de la base de donnée

function deconnectionBDD($connexion)

{

mysql_close($connexion);

}

// fonction d'envois d'une requete simple

function envoisRequete()

{

$connexion=connectionBDD();

$requete "DELETE FROM contacts WHERE ID '$id' ";

$test=mysql_query($requete,$connexion) or die("probleme execution de requete:" .mysql_error());

deconnectionBDD($connexion);

return $test;

}

?>

</head>





<?php

$res =envoisRequete();

if($res)

echo"resultat de requete vrai";

else

echo"resultat de requete faux";

?>

2 réponses

Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
7
Salut,

Peut-être devrais-tu passer l'$id comme paramêtre de ta fonction envoisRoquette().

Car, pour l'instant, comme l'$id à l'intérieur de la fonction est inconnu, il vaut NULL. Donc ta requète ne trouve pas le champs à effacer...

Pour trouver (prouver) cette erreur, fais l'appel suivant en haut de chaque script :
error_reporting(E_ALL);

Si "NOTICE : undefine variable 'id'" alors, tu as trouvé l'erreur :)

A+
Messages postés
20
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
2 août 2006

Merci de ton aide , je savais que c'était pas grand chose mais ca commençais à m'agacer ! lol

Bonne journée à toi et encore merci.