Bonjour a tous !!!

j'ai suivis ( l'excellent ) tuto pour gérer ses news en php, et j'ai une erreur au niveau de la suppression et la modification des ces news... J'ai vus que certains avaient eu le même soucis mais rien n'a pus m'aider, je m'en remet donc aujourd'hui a votre aide x)

Voici donc mon erreur :

Erreur SQL !
DELETE FROM news 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

Et mon code

index.php

<form method="post" action="creer.php":>

    Titre :<input type="text" name="titre"/>
    <br/>

    Contenu :<br/>

    <textarea name="contenu" style="widht:100%;height:150px;"></textarea>
    <input type="submit" value="Envoyer"/>

</form>
<?php
    require "../config.php";
    mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
    mysql_select_db(DB_BDD);

    $sql="SELECT * FROM news";

    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

    while($date=mysql_fetch_assoc($req)){

        echo "<p>{$data"titre"]}--";
        echo "<a href=\"edit.php?id={$data"id"]}\">Modifier cette news</a>";
        echo " -- <a href=\"suppr.php?id={$data"id"]}\">X</a>";
        echo "</p>";

    }

?>

suppr.php

<?php
    require "../config.php";
    mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
    mysql_select_db(DB_BDD);

    $sql="DELETE FROM news WHERE id={$_GET"id"]}";
    $req=mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    header("Location: index.php");

?>

edit.php

<?php
    require "../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 modifiée";
        $_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="widht:100%;height:150px;"><?php echo $data"contenu"]; ?></textarea>
        <input type="submit" value="Envoyer"/>

    </form>

En vous remerciant d'avance, de m'aider sur une erreur a la c** dans ce genre x)

3 réponses


mzdiine
Réponse acceptée

Salut,

essaye de remplacer

$sql="DELETE FROM news WHERE id={$_GET"id"]}";

par ça

$sql='DELETE FROM news WHERE id ="'.$_GET'id'].'" ';
biozarb
Auteur

Alors du coup je n'es plus le message d'erreur, mais il ne se passe rien ... la news n'est pas supprimée.

J'ai la même erreur avec l'edition, j'ai donc également remplacer

$sql="SELECT * FROM news WHERE id={$_GET"id"]}";

par

$sql='SELECT * FROM news WHERE id ="'.$_GET'id'].'" ';

la par contre la requette est executer mais je n'es qu'un champ d'edition nommé titre et qui m'affiche ceci

/> <br/> Contenu :<br/> <textarea name=

On va pas débugguer tout ton script essaie de chercher un petit peu surtout que c'est des erreurs d'écriture
Tu as oublier de fermer le " de value :

value = "du code php"