Problème de modification d'entrée [Résolu]

Signaler
Messages postés
7
Date d'inscription
samedi 11 février 2006
Statut
Membre
Dernière intervention
20 avril 2007
-
Messages postés
7
Date d'inscription
samedi 11 février 2006
Statut
Membre
Dernière intervention
20 avril 2007
-
Bonjour.


J'ai malheureusement un petit problème avec ma base de données MySQL. Lorsque je veux modifier une entrée, rien ne se passe

Voici le code de ma page qui envoi à une autre page qui est celle ou l'entrée se modifie (normalement) :

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("partner");

if(isset($_GET['modifier_membre']))
{

 

    $retour = mysql_query('SELECT * FROM membres_tbl WHERE id=' . $_GET['modifier_membre']);

    $donnees = mysql_fetch_array($retour);

   

 

    $pseudo = $donnees['login'];

    $roster = $donnees['roster'];

   
}
?>


<form action="liste_membres.php" method="post">

Pseudo : "text" size="30" name="pseudo" value="<?php echo $pseudo; ?>" />


Roster ? : "text" size="30" name="roster" value="<?php echo $roster; ?>" />


    "submit" value="Envoyer" />

</form>


Et voici la page qui modifie les entrées :

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("partner");

if(isset($_POST['roster']))
{

    $roster = $_POST['roster'];


        mysql_query("UPDATE membres_tbl SET roster='" . $roster . "' WHERE login=" . $_POST['pseudo']);
}

if(isset($_GET['supprimer_membre']))
{


    mysql_query('DELETE FROM membres_tbl WHERE id=' . $_GET['supprimer_membre']);
}
?>


<table><tr>

<th>Modifier</th>

<th>Supprimer</th>

<th>Titre</th>

<th>Roster</th>

</tr>

<?php
$retour = mysql_query('SELECT * FROM membres_tbl ORDER BY id DESC');
while($donnees = mysql_fetch_array($retour))
{
?>


<tr>

<td><?php echo'[membres.php?modifier_membre=' . ['id'] . '">'; ?>Modifier]</td>

<td><?php echo'[liste_membres.php?supprimer_membre=' . ['id'] . '">'; ?>Supprimer]</td>

<td><?php echostripslashes($donnees['login']); ?></td>

<td><?php echostripslashes($donnees['roster']); ?></td>

</tr>

<?php
}
mysql_close();
?>


Merci d'avance pour votre aide :).

PS : die(mysql_error()); affiche  :
Champ 'LilSiM' inconnu dans where clause

7 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut,

ton login, c'est LiSiM, donc, la requette c'est :

UPDATE machin FROM table WHERE login=LiSiM

ici, login est un champ, et LiSiM aussi...

mysql_query('UPDATE membres_tbl SET roster=\'' . $roster . '\' WHERE login=\'' . $_POST['pseudo'].'\'')OR DIE(MYSQL_ERROR());

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
503
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
20 mars 2012

mysql_query
(
"UPDATE membres_tbl SET roster='" . $roster . "' WHERE login=' " . $_POST['pseudo']." ' ");

N'importe où. 
mais là où il le faut.
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Ptite erreur :

$retour = mysql_query('SELECT * FROM membres_tbl WHERE id=' . $_GET['modifier_membre']);

Tout ce qui passe par GET est de type STRING !
Or ton champ ID est de type INT. Il faut modifier ta requète comme suit :
$retour = mysql_query('SELECT * FROM membres_tbl WHERE id=' . (int) $_GET['modifier_membre']);

Pareil pour le reste, revoit la technique qui consiste à dire qu'une variable est de type STRING ou INT. Ca marche autant pour SQL que pour PHP que pour n'importe quoi :)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut,

putain !! mais vous abusez !! on fait toujours les mêmes remarques !!!

        mysql_query("UPDATE membres_tbl SET roster='" . $roster . "' WHERE login=" . $_POST['pseudo'])OR DIE(MYSQL_ERROR());

t'aurais vu que t'avais une parse error !!!! c'est le genre de truc qu'on n'a pas à corriger ici !!!

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
7
Date d'inscription
samedi 11 février 2006
Statut
Membre
Dernière intervention
20 avril 2007

Ce que tu m'a dit n'a rien changé younes371 :(
Messages postés
7
Date d'inscription
samedi 11 février 2006
Statut
Membre
Dernière intervention
20 avril 2007

Euh coucou, au fait j'ai fait ça j'ai meme ecrit que ça affichai : Champ 'LilSiM' inconnu dans where clause
Seulement je ne comprend pas cette erreur.
Merci.
Messages postés
7
Date d'inscription
samedi 11 février 2006
Statut
Membre
Dernière intervention
20 avril 2007

Merci beaucoup, c'est bon :)