IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Intercepter les messages d'erreurs de requetes


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 98
    Points : 45
    Points
    45
    Par défaut Intercepter les messages d'erreurs de requetes
    Bonjour, j'ai une application web en php où j'ajoute des données à la base de données(oracle a travers ODBC) à travers un formulaire de saisi .
    sur cette base de données j'ai ajouter une contrainte d'unicité sur deux champs d'une table de cette BDD pour éviter l'insertion des doublures. ma préoccupation est comment intercepter le message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: odbc_do(): SQL error: [Oracle][ODBC][Ora]ORA-00001: violation de contrainte unique
    envoyé lorsqu'on insert une donnée déjà existante pour ne pas l'afficher et mettre un autre message pour avertir l'utilisateur que cette donnée existe dejà. Pour être plus précis comment éviter l'affichage de ce message d'erreur lors d'un ajout à la table. merci

  2. #2
    Membre averti
    Avatar de magicshark
    Homme Profil pro
    Dans une SS2I donc pas que JAVA
    Inscrit en
    Octobre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dans une SS2I donc pas que JAVA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 133
    Points : 320
    Points
    320
    Par défaut
    lorsque tu executes ta requete, ne peut tu pas ajouter or die "truc bidule" ou bien avec des exception ?

    edit

    y'a du cradasse sinon tu met @devant la fonction qui execute ta requête (supprime les warning).

    reEdit

    avec le bloc try catch

    si tu as un fonction doIt par exemple tu peux faire ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    function doIt(){
    someFunction() OR throw new Exception();
    }
    try{
     
    doIt();
     
    }catch(Exception $e){
       echo "KO";
    } 
    ?>
    attention j'ai lu (le poste date de 5ans) que l'on ne pouvait pas faire ce qu'il y a au dessus je l'ai mis quand même a cause de la date mais qua la solution consistait a faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    someFunction() OR throw new Exception();
    ?>
     
    This leads to a T_THROW Syntax Error. If you want to use this kind of exceptions, you can do the following:
     
    <?php
    function throwException($message = null,$code = null) {
        throw new Exception($message,$code);
    }
     
    someFunction() OR throwException();
    ?>

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 98
    Points : 45
    Points
    45
    Par défaut
    Merci pour cette réponse je pense qu'elle pourra servir. mais j'ai résolu le problème en vérifiant si la donnée existe avant de faire un ajout

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Intercepter les messages d'erreur du SGBD FireBird
    Par adelneo dans le forum Bases de données
    Réponses: 13
    Dernier message: 25/11/2011, 17h18
  2. Réponses: 6
    Dernier message: 21/05/2008, 20h16
  3. [Message d'erreur] gérer les message d'erreurs
    Par heid dans le forum Langage
    Réponses: 2
    Dernier message: 12/10/2004, 15h57
  4. recuperer les messages d'erreurs de interbase
    Par devalender dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/06/2004, 12h45
  5. Réponses: 2
    Dernier message: 06/04/2004, 09h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo