Besoin d'aide UPDATE ...

Résolu/Fermé
theophileb Messages postés 6 Date d'inscription vendredi 11 décembre 2009 Statut Membre Dernière intervention 11 décembre 2009 - 11 déc. 2009 à 20:44
theophileb Messages postés 6 Date d'inscription vendredi 11 décembre 2009 Statut Membre Dernière intervention 11 décembre 2009 - 11 déc. 2009 à 21:54
Bonjour,

Voilà je travail vite fait sur un script en ce moment pour un pote... le script marche mais renvoi une erreur apres enregistrement dans la bdd :

Erreur SQL !1
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

Bref, je ne comprends pas pourquoi et donc je fais appel à vous pour m'orienter si cela vous interesse

le script :



<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="id" value=""/>
<input type="hidden" name="enregistre" value="oui"/>

<br/>
<label for="titre"> Votre titre : </label><span>*</span>
<br/>
<input id="titre" type="text" name="titre" size="20" value="" /><br/>



<label for="contenu"> Votre contenu : </label><span>*</span>
<br/>
<textarea id="contenu" name="contenu" style="width:255px;height:100px;">

</textarea>
<br/>
<label for="Auteur">Ecrit par : </label><span>*</span>
<br/>
<input type="text" id="Auteur" name="Auteur" value="" size="20" />



<input type="reset" name="reset" value="Effacer">
<input type="submit" name="" value="envoyer" />


</form>

<?php
include ("variables.inc.php");

if ($_REQUEST['enregistre'] == "oui")
{
if (empty($_REQUEST['titre']) || empty($_REQUEST['contenu']) || empty($_REQUEST['Auteur']))
{
echo ("Tous les champs doivent être remplis !");
}
else
{

$liendb = mysql_connect ($bddserver, $bddlogin, $bddpassword);
mysql_select_db ($bdd);


$sql ='INSERT INTO News VALUES ("","'.htmlentities(trim(stripslashes($_POST["titre"]))).'","'.date("d-m-Y à G:i:s").'","'.htmlentities(trim(stripslashes($_POST["contenu"]))).'","'.htmlentities(trim(stripslashes($_POST["Auteur"]))).'")';

mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
mysql_close($liendb);
}
}


?>
A voir également:

6 réponses

$sql=mysql_query('UPDATE news SET titre=" ' .$titre.'",dateEtHeure="'.$date.'",contenu="'.$contenu.'",Auteur="'.$auteur.' " WHERE id_news=" '.$id.' " ');
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
ça fait double emploi...
1
theophileb Messages postés 6 Date d'inscription vendredi 11 décembre 2009 Statut Membre Dernière intervention 11 décembre 2009
11 déc. 2009 à 20:53
Mince je me suis planté de script lol voici le bon :

Le script :



<?php
include ("variables.inc.php");
if ($_GET[id]>0)
{
$id=$_GET[id];
}
else
{
$id=$_REQUEST['id'];
}
$liendb = mysql_connect ($bddserver, $bddlogin, $bddpassword);
mysql_select_db ($bdd);

$SQLnews="SELECT * FROM $table_news WHERE id_news=$id";
$resultat = mysql_query ($SQLnews);

if (mysql_num_rows ($resultat) > 0) {
while ($SQLnews= mysql_fetch_array ($resultat)){

$id_news=$SQLnews['id_news'];
$titre=$SQLnews['titre'];
$contenu=$SQLnews['contenu'];
$Auteur=$SQLnews['Auteur'];

if ($id>0)
{


echo ("Vous voulez modifier la news numéro : \"".$id_news."\", intitulé : \"".$titre."\"");

}
else
{
echo "$id=$id";

}
}
}

?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="id" value="<?php echo $id_news; ?>"/>
<input type="hidden" name="enregistre" value="oui"/>

<br/>
<label for="titre"> Votre titre : </label><span>*</span>
<br/>
<input id="titre" type="text" name="titre" size="20" value="<?php

if ($_REQUEST['enregistre'] != "oui")
{ echo $titre;}
else
{ if ($_POST['titre']== $titre || $_POST['titre'] == "")
{echo $titre; }
else{echo $_POST[titre]; } }?>" /><br/>



<label for="contenu"> Votre contenu : </label><span>*</span>
<br/>
<textarea id="contenu" name="contenu" style="width:255px;height:100px;"><?php

if ($_REQUEST['enregistre'] != "oui")
{ echo "$contenu";}
else
{ if ($_POST['contenu']== $contenu || $_POST['contenu'] == "")
{echo "$contenu"; }
else{echo $_POST["contenu"]; } }?>
</textarea>
<br/>
<label for="Auteur">Ecrit par : </label><span>*</span>
<br/>
<input type="text" id="Auteur" name="Auteur" value="<?php

if ($_REQUEST['enregistre'] != "oui")
{ echo $Auteur;}
else
{ if ($_POST['Auteur']== $Auteur || $_POST['Auteur'] == "")
{echo $Auteur; }
else{echo $_POST[Auteur]; } }?>" size="20" />



<input type="reset" name="reset" value="Effacer">
<input type="submit" name="" value="envoyer" />


</form>

<?php
include ("variables.inc.php");

if ($_REQUEST['enregistre'] == "oui")
{
if (empty($_REQUEST['titre']) || empty($_REQUEST['contenu']) || empty($_REQUEST['Auteur']))
{
echo ("Tous les champs doivent être remplis !");
}
else
{

$liendb = mysql_connect ($bddserver, $bddlogin, $bddpassword);
mysql_select_db ($bdd);


$postSQL=$_POST;


$titre =htmlentities(trim(stripslashes($postSQL['titre'])));
$contenu =htmlentities(trim(stripslashes($postSQL['contenu'])));
$auteur =htmlentities(trim(stripslashes($postSQL['Auteur'])));
$date =htmlentities(trim(date("d-m-Y à G:i:s")));

$sql=mysql_query('UPDATE news SET titre=" ' .$titre.'",dateEtHeure="'.$date.'",contenu="'.$contenu.'",Auteur="'.$auteur.' " WHERE id_news=" '.$id.' " ');
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

header('Location: ../news.php');

exit();
}
}

?>
0
Bonjour

Ton erreur est ailleurs
Ton message dit Erreur SQL !1
Donc ta requête est simplement '1'
Or la requête que tu montres commence obligatoirement par INSERT INTO. Ce ne peut pas être un simple '1'.
C'est que le message ne vient pas de cette partie-là du script.
0
theophileb Messages postés 6 Date d'inscription vendredi 11 décembre 2009 Statut Membre Dernière intervention 11 décembre 2009
11 déc. 2009 à 21:02
Ok, bon je vais revoir la chose. Merci de cette remarque.
0

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

Posez votre question
theophileb Messages postés 6 Date d'inscription vendredi 11 décembre 2009 Statut Membre Dernière intervention 11 décembre 2009
11 déc. 2009 à 21:16
Je ne veux pas paraitre redondant mais, petite précision, l'erreur ce fait apres execution du script, donc sur cette partie du code ??? :

$liendb = mysql_connect ($bddserver, $bddlogin, $bddpassword);
mysql_select_db ($bdd);


$postSQL=$_POST;


$titre =htmlentities(trim(stripslashes($postSQL['titre'])));
$contenu =htmlentities(trim(stripslashes($postSQL['contenu'])));
$auteur =htmlentities(trim(stripslashes($postSQL['Auteur'])));
$date =htmlentities(trim(date("d-m-Y à G:i:s")));

$sql=mysql_query('UPDATE news SET titre=" ' .$titre.'",dateEtHeure="'.$date.'",contenu="'.$contenu.'",Auteur="'.$auteur.' " WHERE id_news=" '.$id.' " ');
mysql_query($sql) or die('Erreur SQL !'.$sql);

header('Location: ../news.php');

mysql_close($liendb);

}
}

?>
0
theophileb Messages postés 6 Date d'inscription vendredi 11 décembre 2009 Statut Membre Dernière intervention 11 décembre 2009
11 déc. 2009 à 21:54
ok j'avais pas capter ton message "le père" lol ! j'ai remplacer mon code par :

$sql=('UPDATE news SET id_news=" ' .$id.'",titre=" ' .$titre.'",dateEtHeure="'.$date.'",contenu="'.$contenu.'",Auteur="'.$auteur.' " WHERE id_news=" '.$id.' " ');
mysql_query($sql) or die('Erreur SQL !'.$sql);

Maintenant ça marche merci je pensais a un truc plus "chiant". Je programe en Java et je suis un peu néofite du coup en php bien qu'il n'ai pas l'air si chiant à intégrer ... Bref, merci bien. Je vais pouvoir skiner la chose ...
0