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

Zend_Db PHP Discussion :

Application error lors d'un save()


Sujet :

Zend_Db PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 68
    Par défaut Application error lors d'un save()
    Bonjour,

    Cela fait 3 heures que je galère avec une satané requete qui pourtant parait archi simple. je mexplique :

    Voici la table sur laquelle j'agis :

    tarif(#saison,#categorie,tarif)

    (avec le couple #saison et #categorie comme clé primaire et étrangère).

    J'ai bien sur crée la classe relative à la table, et donc je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $tarifs=new Tarif; //ou $tarifs=new Tarif();
    $letarif=$tarifs->createRow();
     
    //affectation de mes valeurs
    $letarif->saison=$sai;
    $letarif->categorie=$cat;
    $letarif->tarif=$valeur;
     
    //enregistrement du tuple :
    $letarif->save();
    Il est écrit dans le livre de J.Pauli que la méthode save() faisait soit un insert soit un update ce qui m'arrange bien.
    La syntaxe et la logique me semblent correctes si je m'en tiens à tout ce que j'ai pu lire (internet+livre), et pourtant la ligne $letarif->save() me fait une "An application has occured - Application Error".

    Je me suis donc lancé dans une mise en place du log d'érreur, et d'apres le livre, et internet, voici ce que j'ai écrit dans mon bootstrap :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    // ************************** LOG ******************************
     
    $log = new Zend_Log($writer = new Zend_Log_Writer_Stream('../application/' . $config->logfile));
     
     
     
    // Ajout de paramètres à enregistrer, adresse ip et navigateur
    $log->setEventItem('user_agent',$_SERVER['HTTP_USER_AGENT']);
    $log->setEventItem('client_ip',$_SERVER['REMOTE_ADDR']);
     
    $log->addPriority('USER', 8);
    // Ajout des paramètres enregistrés dans le format du journal à écrire
    $format = '%client_ip% %user_agent%' . Zend_Log_Formatter_Simple::DEFAULT_FORMAT;
     
    // Ajout du format du journal au log
    $writer->setFormatter(new Zend_Log_Formatter_Simple($format));
     
    Zend_Registry::set('log', $log);
    Je me suis très inspiré de l'exemple du livre.

    Et puis ensuite pour que les erreurs s'écrivent, j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    try{
        $frontController->dispatch(); // dispatche !
    }
    catch (Zend_Exception $e)
    {
     $log->crit($e);
     $log->log($e,Zend_Log::DEBUG);
     $log->log("toto",Zend_Log::DEBUG);
    }
    Par ailleurs quand je fais un $log->log("toto",Zend_Log:EBUG); HORS d'une boucle j'ai bien une entrée dans le fichier log, mais quand je mets cette ligne dans le traitement de l'exception, aucunes entrée. De même si dans le traitement je mets echo "bonjour", rien à faire non plus.

    Du coup je galère à savoir d'ou vient mon erreur.

    Si vous saviez ce qu'il se passe ce serait sympa de me filer un coup de main.

    Merci beaucoup .

  2. #2
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    pour vérifier que le log des erreurs fonctionne (et si tu n'as pas de contrôleur d'erreur), tu peux essayer d'accéder à un contrôleur qui n'existe pas.

    Pour le problème de mise à jour de ton Zend_Db_Table_Row, peux-tu nous donner le code de la classe Tarif ?
    Est-ce que l'insertion est faite dans ta base de données ou pas ?

Discussions similaires

  1. [VB.NET]Error lors du pilotage d'excel
    Par krfa1 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 01/05/2006, 12h58
  2. [SQL Server 2000] error lors d'un select
    Par ardi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/04/2006, 08h39
  3. Server Application Error
    Par __fabrice dans le forum ASP
    Réponses: 5
    Dernier message: 22/08/2005, 11h22
  4. [LG]Runtime Error lors d'une recherche dans un fichier
    Par Fraynor dans le forum Langage
    Réponses: 2
    Dernier message: 15/03/2005, 22h51

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