Problème de requête pour modification dans ma base de donnée

Sub_Mat Messages postés 79 Date d'inscription vendredi 27 mai 2005 Statut Membre Dernière intervention 17 octobre 2010 - 21 sept. 2008 à 09:52
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 21 sept. 2008 à 16:23
Bonjour à tous,
Je lutte pendant des heures, je n'arrive pas à changer les données de ma base de donnée .
Je voudrais changer mes données en fonction d'un ID.
Voici mon petit bazar :
<hr />
<?php
if (isset($_POST['go']) && $_POST['go']=='Envoyer') {
if ((isset($_POST['ID'])) && (isset($_POST['titre'])) && (isset($_POST['commentaire']))) {
if ((!empty($_POST['ID'])) && (!empty($_POST['titre'])) && (!empty($_POST['commentaire']))) {
$base = mysql_connect ('localhost', 'xxxxxx', 'xxxxxx');
mysql_select_db ('actu', $base);
$sql = 'UPDATE Actusite SET Where ID="'.mysql_escape_string($_POST['ID']).'" ("'.mysql_escape_string($_POST['titre']).'","'.mysql_escape_string($_POST['commentaire']).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());
mysql_close();
header('location:index.php');
exit();
}
else {
$erreur = '[ Attention ! Merci de remplir tous les champs ! ]';
}
}
else {
$erreur = 'Erreur';
}
}
else {
$erreur = 'Erreur';
}   
?>
<hr />
Et voici le formulaire :

<form method="post">

<?php if (isset($_POST['ID'])) echo htmlentities(trim($_POST['ID'])); ?>">

<?php if (isset($_POST['titre'])) echo htmlentities(trim($_POST['titre'])); ?>">

<textarea name="commentaire" cols="65" rows="15"><?php echo ($donnees['commentaire']); ?>
<?php if (isset($_POST['commentaire'])) echo htmlentities(trim($_POST['commentaire'])); ?>
</textarea>

</form>
<hr />
Merci d'avance pour votre réponse,
Cordialement Sub_Mat

20 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 sept. 2008 à 12:03
salut
$sql = 'UPDATE Actusite SET Where ID=....

evidement, t'as une erreur de syntaxe... tu ne SET rien du tout...
0
Sub_Mat Messages postés 79 Date d'inscription vendredi 27 mai 2005 Statut Membre Dernière intervention 17 octobre 2010
21 sept. 2008 à 12:31
Merci coucou747,
Je vais tester ça !
0
Sub_Mat Messages postés 79 Date d'inscription vendredi 27 mai 2005 Statut Membre Dernière intervention 17 octobre 2010
21 sept. 2008 à 12:36
Je set pourtant bien l'id nan 
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 sept. 2008 à 12:42
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 sept. 2008 à 12:43
arg...

non, tu ne sets pas l'id la.

ton WHERE n'est pas a sa place.
0
Sub_Mat Messages postés 79 Date d'inscription vendredi 27 mai 2005 Statut Membre Dernière intervention 17 octobre 2010
21 sept. 2008 à 12:49
Merci pour tes réponses,
Mais je nage, peux-tu me donner la solution à mon problème ?
Je veux pouvoir modifier le titre et le commentaire en fonction de l'id
Merci d'avance,
Cordialement Sub_Mat
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 sept. 2008 à 12:57
$sql = '
UPDATE Actusite
SET
titre = "'.mysql_escape_string($_POST['titre']).'"
AND commentaire = "'.mysql_escape_string($_POST['commentaire']).'"
WHERE ID="'.mysql_escape_string($_POST['ID']).'"';
0
Sub_Mat Messages postés 79 Date d'inscription vendredi 27 mai 2005 Statut Membre Dernière intervention 17 octobre 2010
21 sept. 2008 à 13:32
Merci beaucoup pour ton aide coucou747,
Je vais tester ça !
0
Sub_Mat Messages postés 79 Date d'inscription vendredi 27 mai 2005 Statut Membre Dernière intervention 17 octobre 2010
21 sept. 2008 à 13:48
Bizarre sa ne fonctionne pas !
<hr />
<?php 
if (isset($_POST['go']) && $_POST['go']=='Envoyer') {
if ((isset($_POST['ID'])) && (isset($_POST['titre'])) && (isset($_POST['commentaire']))) {
if ((!empty($_POST['ID'])) && (!empty($_POST['titre'])) && (!empty($_POST['commentaire']))) {
$base = mysql_connect ('localhost', 'xxxx', 'xxxx');
mysql_select_db ('coursphp', $base);
$sql ' UPDATE Actusite SET titre "'.mysql_escape_string($_POST['titre']).'" AND commentaire = "'.mysql_escape_string($_POST['commentaire']).'" WHERE ID="'.mysql_escape_string($_POST['ID']).'"';

mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());
mysql_close();
header('location:index.php');
exit();
}
else {
$erreur = '[ Attention ! Merci de remplir tous les champs ! ]';
}
}
else {
$erreur = 'Erreur';
}
}
else {
$erreur = 'Erreur';
}   
?>
<hr />
Il ne m'enregistre pas les modifications, et ne change pas de page !
Aurais-tu une explication à ce dysfonctionnement ?
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 sept. 2008 à 13:57
ton or die ne t'affiche rien ?
0
Sub_Mat Messages postés 79 Date d'inscription vendredi 27 mai 2005 Statut Membre Dernière intervention 17 octobre 2010
21 sept. 2008 à 14:13
Malheureusement non, il n'y pas de message d'erreur.
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 sept. 2008 à 14:18
if (isset($_POST['go']) && $_POST['go']=='Envoyer') {

et plus loin...



ca ne passe jamais par la requete...
0
Sub_Mat Messages postés 79 Date d'inscription vendredi 27 mai 2005 Statut Membre Dernière intervention 17 octobre 2010
21 sept. 2008 à 14:37
Je nage,
Peux-tu dires comment faire ?
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 sept. 2008 à 14:47
a la place de :



tu mets :



et euh... faut vraiment que tu lises un tuto php...
0
Sub_Mat Messages postés 79 Date d'inscription vendredi 27 mai 2005 Statut Membre Dernière intervention 17 octobre 2010
21 sept. 2008 à 15:03
Sa a rien changer,
Je suis pas expert en php, mais je pense que le problème vient ailleur.
Il doit venir de la requête !
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 sept. 2008 à 15:16
et si tu mets echo $erreur a la fin ?


on peut voir ton code complet modifie ?
0
Sub_Mat Messages postés 79 Date d'inscription vendredi 27 mai 2005 Statut Membre Dernière intervention 17 octobre 2010
21 sept. 2008 à 15:45
Voici la partie base de donné :
<hr />
<?php 
if (isset($_POST['go']) && $_POST['go']=='Envoyer') {
if ((isset($_POST['ID'])) && (isset($_POST['titre'])) && (isset($_POST['commentaire']))) {
if ((!empty($_POST['ID'])) && (!empty($_POST['titre'])) && (!empty($_POST['commentaire']))) {
$base = mysql_connect ('localhost', 'xxx', 'xxx');
mysql_select_db ('coursphp', $base); $sql ' UPDATE Actusite SET titre "'.mysql_escape_string($_POST['titre']).'" AND commentaire = "'.mysql_escape_string($_POST['commentaire']).'" WHERE ID="'.mysql_escape_string($_POST['ID']).'"';
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());
mysql_close();
header('location:index.php');
exit();
}
else {
$erreur = '[ Attention ! Merci de remplir tous les champs ! ]';
}
}
else {
$erreur = 'Erreur1';
}
}
else {
$erreur = 'Erreur2';
}   
?>
<hr />
Voici la partie commande :
<hr />
<? if(isset($message)) { ?>
<?= $message; ?>
<? } ?>

<form method="post">
<?php if (isset($_POST['ID'])) echo htmlentities(trim($_POST['ID'])); ?>">

<?php if (isset($_POST['titre'])) echo htmlentities(trim($_POST['titre'])); ?>">

<textarea name="commentaire" cols="65" rows="15"><?php echo ($donnees['commentaire']); ?><?php if (isset($_POST['commentaire'])) echo htmlentities(trim($_POST['commentaire'])); ?></textarea>

form>
<hr />
Merci d'avance pour ton aide !
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 sept. 2008 à 15:57
et echo $erreur ?
0
Sub_Mat Messages postés 79 Date d'inscription vendredi 27 mai 2005 Statut Membre Dernière intervention 17 octobre 2010
21 sept. 2008 à 16:07
$erreur ?
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 sept. 2008 à 16:23
a la fin de ton script, tu definis une variable $erreur

mais si tu ne l'affiche jamais, alors on ne peut pas debuger
0
Rejoignez-nous