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

Résolu
Ender-events Messages postés 248 Statut Membre -  
 imadounelly -
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

  1. JooS Messages postés 2705 Statut Membre 228
     
    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
    1. Ender-events Messages postés 248 Statut Membre 51
       
      Merci
      0
    2. imadounelly
       
      ben c faut c pas la peine de mettre les :
      'date_inscription' =>'NOW()',
      elle est bonne
      0