Besoin d'aide UPDATE ...

Résolu
theophileb Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
theophileb Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
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

le père
 
$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   Statut Membre Dernière intervention  
 
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
le père
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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