Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Récupérer erreur MySQL avec un DAO ?

Posted by Yhann on 02/02/2010 15:06

Bonjour,

Je souhaite pouvoir savoir si une erreur de duplicate index est généré.

Cela correspond, pour MySQL, à l'erreur 1062.

Mais en utilisant jDAO, je ne peux pas récupérer ce numéro d'erreur. Dans le but de créer une abstraction quant au SGBDD utilisé, cela est plutôt normal.

Cependant, je voulais m'assurer qu'il n'y ait pas une solution que j'ignore ? Actuellement, l'erreur véhiculée par l'exception générée par jDAO est 403.

Merci.

EDIT: il y a un truc que je ne pige page. Si je commets volontairement une erreur dans une requête sql, je me retourve avec l'exception suivante :

 [exception 1] (403)Erreur dans la requête (bla bla bla...)

Je pensais que le numéro de l'erreur devait être 403 ? C'est à moi de parser le $e->getMessage() pour extraire le (403) ?

  [Opened] Re: Récupérer erreur MySQL avec un DAO ?

Reply #1 Posted by Yhann on 02/02/2010 15:48

Dans jException :

 if(preg_match('/^\s*\((\d+)\)(.+)$/',$message,$m)){
     $code = $m[1];
     $message = $m[2];
     exit("ok"); // ajouté par moi
 }

Le exit("ok") n'est jamais exécuté. Ce qui explique mon problème...

Avant le preg_match(), $message vaut :

 (403)Erreur dans la requête...

  [Opened] Re: Récupérer erreur MySQL avec un DAO ?

Reply #2 Posted by laurentj on 02/02/2010 17:31

corrigé sur les 3 branches.

 
Page
  1. Re: Récupérer erreur MySQL avec un DAO ?