Posez votre question Signaler

[PHP-Mysql]UPDATE ne met pas à jour ! [Résolu]

kikadisa 53Messages postés 18 octobre 2006Date d'inscription - Dernière réponse le 10 août 2008 à 11:10
Bonjour,
Je dois faire un script de news, et celui qui est censer les modifier, ne modifie rien du tout !
Voici le code du formulaire :
$donnees = mysql_query('SELECT * FROM news WHERE id=\'' . $id . '\'');
$news = mysql_fetch_array($donnees); ?>

<form method="POST" action="modifnews.php?page=Modification reussi">
<label>Date : <input type="text" name="date" size="40" value="<?php print $news['date']; ?>"/><em>(De la forme AAAA-MM-JJ)</em></label><br/>
<label>Description du rendez-vous : <br/>
<textarea rows="6" cols="75" name="news">
<?php echo $news['news']; ?>
</textarea></label><br/>
<label>auteur : <input type="text" name="nom" size="20" value="<?php echo $news['nom']; ?>"/></label><br/>
<input type="hidden" name="id" value="<?php echo $id ;?>" />
<input type="submit" value="Modifier !">
</form>

et celui qui est censer mettre à jour
if(isset($_POST['id']) AND $_POST['id']!=NULL  AND isset($_POST['date']) AND $_POST['date']!=NULL AND isset($_POST['nom']) AND $_POST['nom']!=NULL AND isset($_POST['news']) AND $_POST['news']!=NULL )
{
$id=$_POST['id'];

$date=$_POST['date'];
$date=htmlentities($date);

$news=$_POST['news'];
$news = stripslashes($news);
$news=htmlentities($news);
$news=nl2br($news);

$nom=$_POST['nom'];
$nom = stripslashes($nom);
$nom=htmlentities($nom);
$nom= nl2br($nom);
  
	mysql_connect("***","**","****");
	mysql_select_db("******");
	mysql_query("UPDATE news SET date=$date,news=$news, nom=$nom WHERE id=$id");
	mysql_close();

le UPDATE ne met rien à jour pourquoi ?
Lire la suite 

[PHP-Mysql]UPDATE ne met pas à jour »

10 réponses
Réponse
+0
moins plus
bonsoir je te réponds rapidement
essaye comme ça ;

mysql_query("UPDATE news SET date='$date' ,news='$news' , nom='$nom' WHERE id='$id' ");


et le noms de tes champs dans ta BD sont exactement ecris comme tu l'a écris (date news sera différent de Date News)
Ajouter un commentaire
Réponse
+0
moins plus
Woaw !
j'étais bloqué dessus depuis 3-4 heure, un truc si con, y'a de quoi être dégouté, en tout cas bravo pour la réponse et merci !

Je vais devoir rebouquiné un peu :)

Tcho
Ajouter un commentaire
Réponse
+0
moins plus
de rien ,
je sais ce que c'est .. ;-)
tu cherche des heures des soluces compliquées alors que c'est tout bête
c'est des choses qui arrive à tout le monde
@+
Ajouter un commentaire
Réponse
+0
moins plus
Je Peux te remettre à l'épreuve.
Cette fois-ci c'est DELETE FROM qui ne supprimme rien.

Une idée pour sa ?

elseif(isset($_POST['suppression']) AND isset($_POST['id']) AND $_POST['suppression']=="oui")
{
$id=$_POST['id'];
$secteur=$_POST['secteur'];
	mysql_query('DELETE FROM jocvendee WHERE id='$id' ');
}
Ajouter un commentaire
Réponse
+0
moins plus
celle ci elle est simple, contrairement a tout a l'heure tu a mit des simple cote ce qui fait que ca ne peut pas fonctionner
Il faut faire :
mysql_query("DELETE FROM jocvendee WHERE id='$id' ");
ou encore mieu
mysql_query("DELETE FROM jocvendee WHERE id='".$id."';");
Ajouter un commentaire
Réponse
+0
moins plus
La News elle part pas !
Pourtant sur le papier, sa colle !
Ajouter un commentaire
Réponse
+0
moins plus
bonsoir, verifie deja si l'utilisateur qui est loggé (je suppose que c'est toi) à les droits pour supprimer (grant all privileges)

utilise plutot des doubles quotes " à la place des simples '
comme yorundr l'a ecris
mysql_query("DELETE FROM jocvendee WHERE id='$id' ");

la seconde c'est pareil mais plus "académiques" en efet phpn'interprete pas de la meme maniere les valeurs contenus dans des "" ou dans des ''
personellement à la maison j'utilise la 1ere mais au boulot ca arrive que j'emploie la 2eme (j'aime moins) ,mais le resultat est le meme dans la majorité des cas.
Sauf si tu doit concatener plusieurs variables ,dans ce cas utilise la 2eme;
souvient toi d'une chose comme tes requete par "

une question ? $secteur=$_POST['secteur']; ça correspond à quoi ? ca a un lien avec ta requete?

bon courage
@+
Ajouter un commentaire
Réponse
+0
moins plus
bon, j'ai modifié, j'ai meme essayé un script avec écrit en clair les requete SQL sans aucune variable $id
et là, sa ne fonctionne pas la news persiste !

Je pense faire une PDELETE FROM comme mysql_pconnect :)
( http://fr2.php.net/function.mysql-pconnect )

Comment fait-ton pour passer un utilisateur en grant privilege sous free ?

la variable, $secteur je ne l'utilisais pas encore là !
le script est tronqué à l'essentiel.
Ajouter un commentaire
Réponse
+0
moins plus
bonsoir si tu utilise phpmyadmin (PMA) tu peut gerer les autoristaions depuis la page d''accueil
je t'ai fait un screen

http://milsodor.no-ip.org/ccm/pma/pma.JPG

Avec free je sais pas comment ça se passe ,j'heberge moi meme mon site comme ça je suis tranquille.
sinon tu peut faire un bout de code un peu comme ça pour voir

$sql=("DELETE FROM jocvendee WHERE id='$id' ");
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());

comme ça tu verra exactement ce qui est pris dans ta requete.

Car a priori y''a pas de raisons que ca marche pas.(sinon je ne vois qu'une question de privileges
regarde par ici
http://www.journaldunet.com/...

Pense à placer des echos dans ton code pour voir ou ça plante,une fois cerné le probleme tu les vires.

@+
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
C'est bon ce matin je me suis réveillé et après quelques pas, j'ai eu la réponse comme un éclair !

Jocvendee, C'est pas la table mais la base.
La table c'est news, donc faut remplacer jocvendee par news

Quel con !
Ajouter un commentaire
Ce document intitulé « [PHP-Mysql]UPDATE ne met pas à jour ! » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?