PDO insert into depuis un formulaire n'ecrit pas dans ma bdd

Messagepar petinico Aujourd’hui, 08:30
Bonjour à tous,

Nouveau venu et débutant avec PDO, je bloque sur ce probleme :

J'ai crée une bdd db_ventes, un formulaire avec <FORM Method="POST" Action="admin_ventes.php3">

et admin_ventes.php3 que voici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
 
try
{
// initilisation de PDO
// On stocke la connection à MySQL dans une variable en précisant le type de table, l'hote, le mon de la bdd, le pseudo et mot de passe
$bdd = new PDO('mysql:host=localhost;dbname=db_ventes', 'root', '');
}
 
catch (Exception $e)
{
// En cas d'erreur, on affiche un message et on arrête tout
die('Erreur : ' . $e->getMessage());
}
 
 
 
//récupération des valeurs des champs:
 
$article = $_POST['article'];
$cat_price = $_POST['cat_price'];
$date_creation = $_POST['date_creation'];
$pseudo_acheteur = $_POST['pseudo_acheteur'];
$date_vente = $_POST['date_vente'];
$prix = $_POST['prix'];
$rangement = $_POST['rangement'];
$etat = $_POST['etat'];
$provenance = $_POST['provenance'];
$annee_vente = $_POST['annee_vente'];
 
$tab = array(
'article' => '$article',
'cat_price' => '$cat_price',
'date_creation' => '$date_creation',
'pseudo_acheteur' => '$pseudo_acheteur',
'date_vente' => '$date_vente',
'prix' => '$prix',
'rangement' => '$rangement',
'etat' => '$etat',
'provenance' => '$provenance',
'annee_vente' => '$annee_vente');
 
 
//création de la requête SQL:
 
 
$sql = "INSERT INTO `tab_ventes` (`article`, `cat_price`, `date_creation`, `pseudo_acheteur`, `date_vente`, `prix`, `rangement`, `etat`, `provenance`, `annee_vente`)
VALUES (':article', ':cat_price', ':date_creation', ':pseudo_acheteur', ':date_vente', ':prix', ':rangement', ':etat' , ':provenance', ':annee_vente')" or die("Erreur SQL !".mysql_error());
 
 
 
$req = $bdd->prepare($sql);
$req->execute($tab);
 
 
// fermeture de la connection à la bdd
 
if($bdd){
$bdd = NULL;
}
?>
quand je rempli les champs de mon formulaire, je valide et la bdd reste vide. je bloque dessus depuis 2 jours et un peu d'aide me serait utile... #-o

merci par avance...