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

ORM PHP Discussion :

Symfony/Doctrine SQLSTATE[HY093]: Invalid parameter number: parameter was not defined


Sujet :

ORM PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 89
    Points : 64
    Points
    64
    Par défaut Symfony/Doctrine SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
    Bonjour,

    J'ai un petit problème que je n'arrive pas à résoudre.
    Et je ne comprends pas d'où il vient.

    J'ai crée mon admin generator.
    J'ai crée différents modules dedans, dont un module soudure basé sur mon modèle TSoudure

    Tout allait bien, je faisais des tests. Et j'ai voulu changer le formulaire à droite de la page (cf le projet Jobeet http://www.symfony-project.org/jobee...Doctrine/fr/12 )

    J'ai donc changer un fichier dans lib/filters/doctrine mon TSoudureFormFilters.class.php

    Et en faisant qq modif dans ce fichier et dans TSoudureForm.class.php (j'ai fais celles-ci avant de toucher aux Filters et tout allait bien), me voilà une erreur Doctrine_Connection_Mysql_Exception SQLSTATE[HY093]: Invalid parameter number: parameter was not defined

    Voici les logs :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    Jun 01 14:41:41 symfony [info] {sfPatternRouting} Connect sfRoute "sf_guard_signin" (/login)
    Jun 01 14:41:41 symfony [info] {sfPatternRouting} Connect sfRoute "sf_guard_signout" (/logout)
    Jun 01 14:41:41 symfony [info] {sfPatternRouting} Connect sfRoute "sf_guard_password" (/request_password)
    Jun 01 14:41:41 symfony [info] {sfPatternRouting} Connect sfDoctrineRoute "sf_guard_user_filter" (/sf_guard_user/filter.:sf_format)
    Jun 01 14:41:41 symfony [info] {sfPatternRouting} Connect sfDoctrineRoute "sf_guard_user_batch" (/sf_guard_user/batch.:sf_format)
    Jun 01 14:41:41 symfony [info] {sfPatternRouting} Connect sfDoctrineRoute "sf_guard_user" (/sf_guard_user.:sf_format)
    Jun 01 14:41:41 symfony [info] {sfPatternRouting} Connect sfDoctrineRoute "sf_guard_user_new" (/sf_guard_user/new.:sf_format)
    Jun 01 14:41:41 symfony [info] {sfPatternRouting} Connect sfDoctrineRoute "sf_guard_user_create" (/sf_guard_user.:sf_format)
    Jun 01 14:41:41 symfony [info] {sfPatternRouting} Connect sfDoctrineRoute "sf_guard_user_edit" (/sf_guard_user/:id/edit.:sf_format)
    Jun 01 14:41:41 symfony [info] {sfPatternRouting} Connect sfDoctrineRoute "sf_guard_user_update" (/sf_guard_user/:id.:sf_format)
    Jun 01 14:41:41 symfony [info] {sfPatternRouting} Connect sfDoctrineRoute "sf_guard_user_delete" (/sf_guard_user/:id.:sf_format)
    Jun 01 14:41:41 symfony [info] {sfPatternRouting} Connect sfDoctrineRoute "sf_guard_user_show" (/sf_guard_user/:id.:sf_format)
    Jun 01 14:41:41 symfony [info] {sfPatternRouting} Connect sfDoctrineRoute "sf_guard_user_object" (/sf_guard_user/:id/:action.:sf_format)
    Jun 01 14:41:41 symfony [info] {sfPatternRouting} Connect sfDoctrineRoute "sf_guard_user_collection" (/sf_guard_user/:action/action.:sf_format)
    Jun 01 14:41:41 symfony [info] {sfPatternRouting} Match route "t_soudure" (/soudure.:sf_format) for /soudure with parameters array (  'module' => 'soudure',  'action' => 'index',  'sf_format' => 'html',)
    Jun 01 14:41:41 symfony [info] {sfFilterChain} Executing filter "sfRenderingFilter"
    Jun 01 14:41:41 symfony [info] {sfFilterChain} Executing filter "sfBasicSecurityFilter"
    Jun 01 14:41:41 symfony [info] {Doctrine_Connection_Mysql} exec : SET NAMES 'UTF8' - ()
    Jun 01 14:41:41 symfony [info] {Doctrine_Connection_Statement} execute : SELECT s.id AS s__id, s.username AS s__username, s.algorithm AS s__algorithm, s.salt AS s__salt, s.password AS s__password, s.is_active AS s__is_active, s.is_super_admin AS s__is_super_admin, s.last_login AS s__last_login, s.created_at AS s__created_at, s.updated_at AS s__updated_at FROM sf_guard_user s WHERE (s.id = ?) LIMIT 1 - (1)
    Jun 01 14:41:41 symfony [info] {sfFilterChain} Executing filter "sfExecutionFilter"
    Jun 01 14:41:41 symfony [info] {soudureActions} Call "soudureActions->executeIndex()"
    Jun 01 14:41:41 symfony [info] {Doctrine_Connection_Statement} execute : SELECT COUNT(*) AS num_results FROM (SELECT t.numsoudure FROM TSoudure t LEFT JOIN TMedaille t2 ON t.tmedaille_nummedaille = t2.nummedaille WHERE t.tmedaille_nummedaille IN (?) GROUP BY t.numsoudure) dctrn_count_query - (1718)
    Jun 01 14:41:41 symfony [err] {Doctrine_Connection_Mysql_Exception} SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
    Jun 01 14:41:41 symfony [info] {sfWebResponse} Send status "HTTP/1.1 500 Internal Server Error"
    Jun 01 14:41:41 symfony [info] {sfWebResponse} Send header "Content-Type: text/html; charset=utf-8"
    Jun 01 14:41:41 symfony [info] {sfWebDebugLogger} Configuration 2.01 ms (10)
    Jun 01 14:41:41 symfony [info] {sfWebDebugLogger} Factories 18.16 ms (1)
    Jun 01 14:41:41 symfony [info] {sfWebDebugLogger} Database (Doctrine) 0.01 ms (2)
    Jun 01 14:41:41 symfony [info] {sfWebDebugLogger} Action "soudure/index" 118.54 ms (1)
    Je ne comprends pas pourquoi il y a dedans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Jun 01 14:41:41 symfony [info] {Doctrine_Connection_Statement} execute : SELECT COUNT(*) AS num_results FROM (SELECT t.numsoudure FROM TSoudure t LEFT JOIN TMedaille t2 ON t.tmedaille_nummedaille = t2.nummedaille WHERE t.tmedaille_nummedaille IN (?) GROUP BY t.numsoudure) dctrn_count_query - (1718)
    J'avais fait un test pour filtrer mes soudures par n° de médaille, j avais dont mis dans mon InputText 1718 et c'est à partir de là que j'ai eu l'erreur.

    J'ai l'impression qu'il garde en mémoire ce chiffre et je ne sais pas comment l'enlever.

    J'ai supprimer le module et l'ai refait, j'ai fait un cache clear, j'ai fait doctrine:build-forms et doctrine:build-filters.
    J'ai regardé dans plein d'endroits mais rien ne change.

    Qqun peut m'aider svp ?

  2. #2
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Les données du filtre sont stockées dans la session utilisateur.

    Pour les effacer, il suffit de fair un logout puis un login vu que tu utilise sfGuard.

    Si tu as les erreur après avoir modifié "un truc dans le filtrer" il est possible qu'il ait gardé, dans la configuration du filtre précédant, dans le user, ce qui te gènes.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 89
    Points : 64
    Points
    64
    Par défaut
    Bonjour,

    J'ai réessayer ce matin, ça a remarché.
    Les données du user ont du être perdues.
    Mais j'ai refait des test et hooop même erreur.

    Si tu as les erreur après avoir modifié "un truc dans le filtrer" il est possible qu'il ait gardé, dans la configuration du filtre précédant, dans le user, ce qui te gènes.
    Pouvez-vous me dire où je peux trouver ça? J'ai beau chercher, je trouve rien qui arrange mon problème.

  4. #4
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Quant tu lances ton appli, en mode Debug tu as accès à la barre de débug. Dans celle-ci tu as accès à toutes les données stockées dans l'objet user/session. C'est la manière la plus simple pour consulter les données stockées dans l'objet.

    Essaye de re-générer un module d'administration pour voir si le comportement est identique.

    Tu as modifié le form et/ou le filter, mais qu'as-tu modifié ?
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 89
    Points : 64
    Points
    64
    Par défaut
    J'avais modifier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class TSoudureFormFilter extends BaseTSoudureFormFilter
    {
      public function configure()
      {
      }
    }
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class TSoudureForm extends BaseTSoudureForm
    {
      public function configure()
      {
      }
    }
    Mais mon erreur est toujours là.

    J'avais supprimer mon module "soudure" et supprimer la route dans routing.yml, et autoSoudure dans cache/backend/dev/modules/
    J'avais refait le même module appelé "soudure", j"avais toujours la même erreur.

    J'ai testé en l'appelant "soudures" et je n'ai plus l'erreur. Mais je ne comprends pas

  6. #6
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    T'as rien modifié dans les deux codes. Le fait de mettre une méthode config() vide ou pas ne change rien.

    Et où donc as-tu rajouté le s ? A un objet d'une requête ?
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 89
    Points : 64
    Points
    64
    Par défaut
    J'ai trouvé le problème...

    En fait, je vidais le cache de symfony mais je n'avais pas testé le cache du navigateur.

    Le problème venait des cookies.

    Merci à toi mimi68 pour ton aide

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/04/2015, 10h16
  2. [PDO] Erreur execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables
    Par Aaymeric91 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 30/09/2013, 17h27
  3. Réponses: 3
    Dernier message: 22/05/2013, 13h06
  4. [Doctrine] SQLSTATE[HY093]: Invalid parameter number
    Par fastone650 dans le forum ORM
    Réponses: 6
    Dernier message: 09/07/2011, 20h41
  5. Réponses: 3
    Dernier message: 25/08/2009, 23h25

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