Problème en php avec la base de donnée

Résolu
Bonjour,
Ce code ne marche pas.
il y a bien tout les variable qui s'affiche grâce au 6 echo en bas du code,
mais rien ne 'enregistre (aucune erreur)
pouvez-vous m'aidez svp

voilà le code :

<?php

try
{
$bdd = new PDO('mysql:host=*;dbname=*', '*', '*');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('SELECT * FROM membres_tbl');

while ($donnees = $reponse->fetch())
{

$login = $donnees['login'];

$genre ="indefini";
$signature ="indefinie";
$anniversaire ="indefini";
$pays ="indefini";
$date = date("d-m à H:i");

try
{
$bdd = new PDO('mysql:host=*;dbname=*', '*', '*');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}

$req = $bdd->prepare('INSERT INTO profil (genre, signature, anniversaire, pays, date, login) VALUES(:genre, :signature, :anniversaire, : pays, :date, :login)');
$req->execute(array(
'genre' => $genre,
'signature' => $signature,
'anniversaire' => $anniversaire,
'pays' => $pays,
'date' => $date,
'login' => $login
));

}

$req->closeCursor();
echo $genre;?><br /><?php
echo $signature;?><br /><?php
echo $anniversaire;?><br /><?php
echo $pays;?><br /><?php
echo $date;?><br /><?php
echo $login;?><br /><?php

?>

Merci de m'aidez.

ps:je suis sur que tout les champ existe dans la bdd, et que tout les nom sont correcte.

3 réponses

  1. $req = $bdd->prepare("INSERT INTO profil (genre, signature, anniversaire, pays, date, login) VALUES(':genre', ':signature', ':anniversaire', ':pays', ':date', ':login')");

    Histoire de quote, comme toujours :)
    1
    1. Bonsoir,

      Essais plutôt avec des $ devants les variables a la place des :
      0
      1. Siluni,
        merci beaucoup
        ce n'est pas vraiment se que je voulais mais je me débrouillerai avec des update.

        Ton code ne fait pas une requête préparer car mon code est:

        $req = $bdd->prepare('INSERT INTO profil (genre, signature, anniversaire, pays, date, login) VALUES(:genre, :signature, :anniversaire, : pays, :date, :login)');
        $req->execute(array(
        'genre' => $genre,
        'signature' => $signature,
        'anniversaire' => $anniversaire,
        'pays' => $pays,
        'date' => $date,
        'login' => $login
        ));

        et ton code fait
        $req = $bdd->prepare("INSERT INTO profil (genre, signature, anniversaire, pays, date, login) VALUES(':genre', ':signature', ':anniversaire', ':pays', ':date', ':login')");

        donc il n'enregistre pas les variable.
        0