Salut,
J'ai un champ unique dans ma table. Evidemment si je tente de rentrer un élément qui existe déjà j'ai une erreur duplicate entry. Comment faire pour faire un INSERT IGNORE, histoire de pas avoir d'erreur ?
Merci !
Salut,
J'ai un champ unique dans ma table. Evidemment si je tente de rentrer un élément qui existe déjà j'ai une erreur duplicate entry. Comment faire pour faire un INSERT IGNORE, histoire de pas avoir d'erreur ?
Merci !
- tu peux faire try... catch.
ou
- faire une requete pour verifier l existance
Bon c'est bien dommage... mais ça explique mieux pourquoi j'ai rien trouvé sur ça... Je vais voir ça
Merci
Rapidement, j'ai googelé un peu et il semble que Raptor ai raison avec le try/catch:
http://stackoverflow.com/questions/2...y-and-doctrine
Tu m'en vois ravi.
En fait, le try...catch est l'outil pour prevoir les erreurs et prendre les disposition adequate (pas seulement pour la bdd). C'est toujours mieux d'afficher un joli message qui indique de maniere comprehensible (pour l'utilisateur), que de renvoyer une page : "server error, contactez l administrateur"
Le try... catch est à utiliser sans moderation!
Avec ça, ça marche ! Merci pour votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 try { $em->flush(); } catch(Doctrine_Exception $e) { if($e->getErrorCode() !== $duplicateKeyCode){ } }![]()
Partager