Mon insert ne fonctionne pas.

Résolu
Hello, je galère un petit peu sur mon code, une ame charitable pour m'aider?
<?php
if(isset($_POST['valider'])) {
$titre = addslashes($_POST['titre']);
$auteur = addslashes($_POST['auteur']);
$image = addslashes($_POST['image']);
$date = addslashes($_POST['date']);
$news = addslashes($_POST['news']);
$add_news = $ConnexionMySQL->prepare("INSERT INTO hc_news VALUES ('',".$auteur.",".$titre.",".$news.",".$date.", ".$image.")");
$add_news->execute();
echo "<div id='news_publish'>La news à bien été publiée, ".$auteur.".";
}
?>

<!-- Début de la zone de texte -->
<form method="post">
<b>Titre: </b>
<input type="text" name="titre" />
<b>Auteur: </b>
<input type="text" name="auteur" /><br />
<textarea name="news" style="width:760px; height:200px;"></textarea>
<b>Image: </b>
<input type="text" name="image" value="hcnews.png" />
<b>Date: </b>
<input type="text" name="date" value="1234-12-25" /><br /><br />
<center><input type="submit" name="valider" value="Poster la news !" /></center>
</form>
<br />


En principe, c'est sensé insérer mes valeurs dans ma bdd, mais ça ne veut pas, j'ai mon message de confirmation mais ça ne fonctionne pas. ._.

Merci !

3 réponses

  1. Merci beaucoup ça fonctionne !
    Il faut dire que j'ai aussi fait le boulet, j'avais ajouté le array() par la suite, mais j'ai oublié de mettre mes parenthèses (u_u).

    Merci beaucoup, résolu.
    1. Excellent! Bonne continuation :)
    2. Merci ^^.
  2. Merci de ton aide, j'ai cependant une erreur, et je ne vois pas où
    Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW) in G:\xampp\htdocs\admin\add_news.php on line 19

    Ma ligne 19 c'est ça:
    'auteur' => $auteur,


    Saurais tu d'ou ça vient? :s
    1. Oups mon erreur, j'ai oublié d'ajouter array. Regarde mon exemple corrigé.
  3. Bonjour

    Tu dois indiquer le nom de tes colonnes de ta bdd dans lesquelles tu veux insérer tes valeurs. Dans mon exemple, remplace (colonne1, colonne2, colonne3, colonne4, colonne5) par les bonnes valeurs.
    Aussi, tu dois mettre tes variables dans la ligne execute.

    $add_news = $ConnexionMySQL->prepare("INSERT INTO hc_news (colonne1, colonne2, colonne3, colonne4, colonne5) VALUES (:auteur, :titre, :news, :date, :image)");
    $add_news->execute(array(
    'auteur' => $auteur,
    'titre' => $titre,
    'news' => $news,
    'date' => $date,
    'image' => $image
    ));