Je fais le INSERT dans une requête.
Disons que des informations sont envoyées d'un formulaire vers un fichier contenant le code PHP pour l'insertion des données dans la BDD !
Le message d'erreur est le suivant (si je rentre un nom déjà existant) :
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft OLE DB Provider for ODBC Drivers<br/><b>Description:</b> [Microsoft][Pilote ODBC Microsoft Access]
Modifications non effectu es: risque de doublons dans champs index, cl principale ou relation interdisant les doublons.
Modifiez les donn es des champs contenant les doublons, enlevez ou red finissez l'index pour permettre les doublons et recommencez.
' in C:\Program Files\EasyPHP 2.0b1\www\projet\AJAX\actionBDD_ajouter.php:166 Stack trace: #0 C:\Program Files\EasyPHP 2.0b1\www\projet\AJAX\actionBDD_ajouter.php(166): com->execute('INSERT INTO dep...') #1 {main} thrown in C:\Program Files\EasyPHP 2.0b1\www\projet\AJAX\actionBDD_ajouter.php on line 166
Suite à l'erreur, les autres requêtes qui suivent ne sont pas réalisées. Par exemple, si j'effectue (directement après la requête générant l'erreur) une insertion d'un nom qui n'ai pas encore présent dans le champs de la BDD, alors rien ne se passe (l'insertion n'est pas effectuée --> la requête n'est pas lue)
Je souhaite donc savoir s'il est possible de faire un onerror --> dire à l'utilisateur que le nom existe deja (autrement dit analyser le message d'erreur - peut être qu'un code erreur y correspond) ou sinon je rajoute des tests (un peu lourd) pour^être sure de ne jamais rencopntrer le problème.
Je souhaite mettre en place la 1ère solution de manière à informer l'utilisateur !
Partager