Bonjour, j'ai suivi le tuto crée un systeme de news en php et j'ai un soucis avec la page edit j'ai cette erreur la

Erreur SQL !
UPDATE news SET titre='Maintenance ', contenu='Bonjour, Nous sommes actuellement en maintenance !' WHERE id=
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 '' at line 1

voici le code de la page Edit.php

<?php
    require "../config/config.php";
    mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
    mysql_select_db(DB_BDD);
    if(!empty($_POST)){
            extract($_POST);
            $sql="UPDATE news SET titre='$titre', contenu='$contenu' WHERE id=$id";
            $req = mysql_query($sql) or die('Erreur SQL !<br/>'.$sql.'<br />'.mysql_error());
            echo "News Modifier avec succes !";
            $_GET"id"]=$id;
    }

    $sql="SELECT * FROM news WHERE id={$_GET"id"]}";
    $req = mysql_query($sql) or die('Erreur SQL !<br/>'.$sql.'<br />'.mysql_error());
    $data=mysql_fetch_assoc($req);
?>

<form method="post" action="edit.php" />
    <input name="id" type="hidden" value"<?php echo $data"id"]; ?>"/> 
    Titre :<input type="text" name="titre" value="<?php echo $data"titre"]; ?>"/>
    <br />
    Contenu :<br/>

    <textarea name="contenu" style="width:100%;height:150px;"><?php echo $data"contenu"]; ?></textarea>

    <input type="submit" value="Mettre en ligne !" />
</form>

1 réponse


Glaived
Réponse acceptée

en debut de ligne 8, ajoute ceci

var_dump($sql); die;

je crois qu'il te manque le $id, qui viens surement de $_POST'id']

« N'utilisez pas extract() sur des données inconnues, comme les données utilisateurs (i.e. $_GET, $_FILES, etc.) » ça vaux aussi pour $_POST

Cf : http://us3.php.net/manual/fr/function.extract.php