Problème requête préparée

Eléphanteau du PHP | 12 Messages

16 juin 2012, 18:52

Bonjour,

J'ai un problème concernant une requête préparée et je ne sais pas d'où cela peut bien venir, je me connecte avec un include qui contient:
try
{
	$bdd = new PDO('mysql:host=localhost;dbname=SiteDynamique', 'root', '');
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}
et voici ma requête préparée:
$req = $bdd->prepare('INSERT INTO user(login, pass, type, civilite, nom, prenom, email, telephone, adresse, ville, code_postal) VALUES(:login, :pass, :type, :civilite, :nom, :prenom, :email, :telephone, :adresse, :ville, :cp)');
$req->execute(array(
	'login' => $login,
	'pass' => $pass,
	'type' => $type,
	'civilite' => $civilite,
	'nom' => $nom,
	'prenom' => $prenom,
	'email' => $email,
	'telephone' => $telephone,
	'adresse' => $adresse,
	'ville' => $ville,
	'cp' => $cp
	));
En faisant un echo des variables a la fin je constate que les variables contiennent bien les informations mais elles ne sont pas ajouter dans base de données :?

Des idées ?

Merci

ViPHP
xTG
ViPHP | 7331 Messages

16 juin 2012, 19:12

Et avec deux points devant le nom du paramètre ?
Sinon il serait intéressant d'activer la gestion des erreurs PDO (cf la doc). ;)

Eléphanteau du PHP | 12 Messages

16 juin 2012, 19:38

Problème résolu grâce la gestion des erreurs PDO (merci xTG)

Le problème était simplement un oubli de l'auto increment de l'id donc forcément une clé primaire en double ça passe pas :oops:

Voici le code pour activé la gestion des erreurs PDO:
<?php
try
{
	$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
	$bdd = new PDO('mysql:host=localhost;dbname=NomBDD', 'root', '', $pdo_options);
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}
?>