INSERT INTO problème avec une requête préparé

Résolu/Fermé
Ender-events Messages postés 200 Date d'inscription mercredi 19 décembre 2012 Statut Membre Dernière intervention 23 mai 2014 - Modifié par Ender-events le 28/12/2012 à 21:59
 imadounelly - 31 mai 2014 à 02:02
Bonjour, avec le code :
<?php 
try 
{ 
 $bdd = new PDO('mysql:host=localhost;dbname=fire-wall', 'root', ''); 
} 
catch(Exception $e) 
{ 
        die('Erreur : '.$e->getMessage()); 
} 
$bdd->exec('INSERT INTO news(id, titre, contenue, auteur, date) VALUES(\'?\', \'test\',\'base de donnée\', \'Ender-events\', \'2012-12-28\')'); 

echo 'Votre news a été ajouter !'; 
?> 


je peut rajouter les info a ma base de donnée mais avec la requête :
<?php
try
{
	$bdd = new PDO('mysql:host=localhost;dbname=fire-wall', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
$req = $bdd->prepare('INSERT INTO news(id, titre, contenue, auteur, date) VALUES(:?, :titre, :contenue, :auteur, NOW())');
$req->execute(array(
	'titre' => $_POST['titre'],
	'contenue' => $_POST['contenue'],
	'auteur' => $_POST['auteur']
    ));

echo 'Votre news a été ajouter !';
?>

je peux pas et pourtant je reçoit bien les info :

<?php echo $_POST['titre'] ?> 
<?php echo $_POST['contenue'] ?> 
<?php echo $_POST['auteur'] ?> 

il m'indique les info que j'ai écrit.

1 réponse

JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 1/01/2013 à 20:09
Salut !
Tu as oublier les deux points ":" lorsque tu associe chaque variable au champs lui correspondant (dans le execute) !

Si l'id est en auto-increment, pas la peine de le définir !

Mettez en résolu quand c'est résolu -.- ...
0
Ender-events Messages postés 200 Date d'inscription mercredi 19 décembre 2012 Statut Membre Dernière intervention 23 mai 2014 51
2 janv. 2013 à 12:43
Merci
0
imadounelly
31 mai 2014 à 02:02
ben c faut c pas la peine de mettre les :
'date_inscription' =>'NOW()',
elle est bonne
0