Mon insert ne fonctionne pas.

Résolu/Fermé
Korasoa Messages postés 238 Date d'inscription vendredi 20 avril 2012 Statut Membre Dernière intervention 26 avril 2020 - 16 nov. 2014 à 20:13
Korasoa Messages postés 238 Date d'inscription vendredi 20 avril 2012 Statut Membre Dernière intervention 26 avril 2020 - 16 nov. 2014 à 22:30
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

GrifOli Messages postés 2111 Date d'inscription samedi 28 juin 2008 Statut Membre Dernière intervention 26 mars 2020 591
Modifié par GrifOli le 16/11/2014 à 22:21
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
));
1
Korasoa Messages postés 238 Date d'inscription vendredi 20 avril 2012 Statut Membre Dernière intervention 26 avril 2020 44
Modifié par Korasoa le 16/11/2014 à 22:13
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
0
GrifOli Messages postés 2111 Date d'inscription samedi 28 juin 2008 Statut Membre Dernière intervention 26 mars 2020 591
16 nov. 2014 à 22:20
Oups mon erreur, j'ai oublié d'ajouter array. Regarde mon exemple corrigé.
0
Korasoa Messages postés 238 Date d'inscription vendredi 20 avril 2012 Statut Membre Dernière intervention 26 avril 2020 44
16 nov. 2014 à 22:27
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.
0
GrifOli Messages postés 2111 Date d'inscription samedi 28 juin 2008 Statut Membre Dernière intervention 26 mars 2020 591
16 nov. 2014 à 22:28
Excellent! Bonne continuation :)
0
Korasoa Messages postés 238 Date d'inscription vendredi 20 avril 2012 Statut Membre Dernière intervention 26 avril 2020 44
16 nov. 2014 à 22:30
Merci ^^.
0