nouvelle sur le forum, je m'excuse si le topic a déjà été créé....
j'ai un problème pour faire remonter les erreurs MySQL au niveau de mon application.
VOILA mon problème : j'ai une table CLASSE, dans une base de données STAGES, dont voici le script :
CREATE TABLE IF NOT EXISTS `classe` (
`idClasse` int(11) NOT NULL AUTO_INCREMENT,
`Section` varchar(10) NOT NULL,
`Libelle` varchar(100) NOT NULL,
`OptionClasse` varchar(80) NOT NULL,
`idProf` int(11) NOT NULL,
PRIMARY KEY (`idClasse`),
UNIQUE KEY `Section` (`Section`)
)
au niveau de l'application, lors de la création d'une nouvelle classe (dans un formulaire) j'aimerais récupérer l'erreur de MYSQL si jamais l'utilisateur entre une section qui existe déjà. voila la fonction qui ajoute la nouvelle classe dans la table :
<?php
function ajoutClasse($db, $s, $l, $o, $idp)
{
try
{
$req = $db->prepare('INSERT INTO classe (Section, Libelle, OptionClasse, idProf) VALUES (:Section, :Libelle, :OptionClasse, :idProf)');
$req->execute(array('Section'=> $s,
'Libelle' => $l,
'OptionClasse' => $o,
'idProf' => $idp
));
echo "La classe a bien enregistrée";
catch (Exception $e){die ('Erreur : '.$e->getmessage());}
}?>
Le try-catch présent ici vérifie la connexion a la base de données. J'aimerais introduire quelque chose ressemblant à ça : <?php
if (!req->execute()) // si l'insertion n'a pas fonctionné
{
echo "\nPDOStatement::errorInfo():\n";
$arr = $sth->errorInfo();
print_r($arr); //#1062 - Duplicate entry for key 'Section' (erreur MySQL)
}
else {echo "La classe a bien enregistrée";}?>
Je ne sais pas si je me suis bien fait comprendre, mais j'ai besoin d'une solution. D'avance merci