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 :

Problème d'insertion avec plus de 9 paramètres


Sujet :

ORM PHP

  1. #1
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2011
    Messages : 14
    Par défaut Problème d'insertion avec plus de 9 paramètres
    Bonjour,

    Aujourd'hui un gros problème se pose a moi et impossible de trouver des solutions sur internet.

    Lors d'une insertion, dans mes logs je me retrouve avec ce type de problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Jun 29 07:24:41 symfony [info] DO INSERT  : INSERT INTO ATTRIBUT (IDATTRIBUT,IDTYPEATTRIBUT,LCATTRIBUT,LLATTRIBUT,ISREQUIRED,ISIDENTITY,ISFOREIGN,FOREIGNTAB,ORDRE,LISTVIEW,FILTERVIEW,GROUPE,ORDREGROUPE) VALUES (:p1,:p2,:p3,:p4,:p5,:p6,:p7,:p8,:p9,:p10,:p11,:p12,:p13)
     
    Jun 29 07:24:41 symfony [debug] {sfPropelLogger} INSERT INTO ATTRIBUT (IDATTRIBUT,IDTYPEATTRIBUT,LCATTRIBUT,LLATTRIBUT,ISREQUIRED,ISIDENTITY,ISFOREIGN,FOREIGNTAB,ORDRE,LISTVIEW,FILTERVIEW,GROUPE,ORDREGROUPE) VALUES ('879','4','DATDEB','Date de debut',true,true,false,'','10','879'0,'879'1,'879'2,'879'3)
    Comme vous pouvez le voir, sur les 4 derniers attributs, il prend la valeur de ':p1'0 au lieu de prendre la valeur de ':p10'.

    Après recherches, l'erreur doit se situer dans lib/symfony/vendor/symfony/lib/plugins/sfPropelPlugin/lib/vendor/propel/util/BasePeer.php

    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
     
    public static function doInsert(Criteria $criteria, PropelPDO $con) {
     
    [...]
     
    self::populateStmtValues($stmt, self::buildParams($qualifiedCols, $criteria), $dbMap, $db);
     
    [...]
     
    }
     
    public static function populateStmtValues(PDOStatement $stmt, array $params, DatabaseMap $dbMap, DBAdapter $db){
     
    [...]
     
    $stmt->bindValue(':p'.$i++, $value, $pdoType);
     
    [...]
     
    }
    J'ai fait afficher les $value, elles sont correctes. Mais impossible de savoir quand il prend les valeurs de ':p1'0 a la place de ':p10'...

    Une idée ?

    Merci par avance.

    Dood

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    on sait jamais, mais dans le schéma, ce sont bien des size superieur a 3?

  3. #3
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2011
    Messages : 14
    Par défaut
    Des champs sont des entiers, d'autres sont des strings... et il reprend vraiment a chaque fois la valeur ":p1"0 au lieu de ":p10"

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    tu peux me montrer un bout de ton schema.yml, celui avec ta table attribut?

  5. #5
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2011
    Messages : 14
    Par défaut
    Il faut savoir qu'on a une liaison avec une base oracle:

    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
     
    ATTRIBUT:
        _attributes: { phpName: Attribut }
        IDATTRIBUT: { phpName: Idattribut, type: BIGINT, size: '22', scale: '0', primaryKey: true, required: true, autoIncrement: true, sequence: S_ATTRIBUT }
        IDCATALOGUE: { phpName: Idcatalogue, type: BIGINT, size: '22', scale: '0', required: false, foreignTable: CATALOGUE, foreignReference: IDCATALOGUE, onDelete: 'NO ACTION', onUpdate: 'NO ACTION' }
        IDTYPEATTRIBUT: { phpName: Idtypeattribut, type: BIGINT, size: '22', scale: '0', required: false, foreignTable: TYPEATTRIBUT, foreignReference: IDTYPEATTRIBUT, onDelete: 'NO ACTION', onUpdate: 'NO ACTION' }
        LCATTRIBUT: { phpName: Lcattribut, type: VARCHAR, size: '40', required: false }
        LLATTRIBUT: { phpName: Llattribut, type: VARCHAR, size: '80', required: false }
        ISREQUIRED: { phpName: Isrequired, type: boolean, size: '1', scale: '0', required: false }
        ISIDENTITY: { phpName: Isidentity, type: boolean, size: '1', scale: '0', required: false }   
        ISFOREIGN:   { phpName: Isforeign, type: boolean, size: '1', scale: '0', required: false }
        FOREIGNTAB:   { phpName: Foreigntab, type: VARCHAR, size: '40', scale: '0', required: false,  foreignTable: CATALOGUE, foreignReference: IDCATALOGUE, onDelete: 'NO ACTION', onUpdate: 'NO ACTION' } 
        DEFAUT: { phpName: Defaut, type: LONGVARCHAR, size: '0', required: false }
        ORDRE: { phpName: Ordre, type: BIGINT, size: '22', scale: '0', required: false }
        ISDATED: { phpName: Isdated, type: boolean, size: '1', scale: '0', required: false }
        ISOBSOLETE: { phpName: Isobsolete, type: boolean, size: '1', scale: '0', required: false }
        LISTVIEW: { phpName: Listview, type: boolean, size: '1', scale: '0', required: false }
        FILTERVIEW: { phpName: Filterview, type: boolean, size: '1', scale: '0', required: false }
        GROUPE : { phpName: Groupe, type: VARCHAR, size: '80', required: false }
        ORDREGROUPE : { phpName: Ordregroupe, type: BIGINT, size: '22', scale: '0', required: false }
        _indexes: { PK_ATTRIBUT: [I, I, I] }

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    Il essaye de faire rentrer 879 dans un champs booleen ca pourrai pas venir de la?
    un dépassement de variable ou quelquechose comme ca? sinon j'peux pas t'aider plus j'ai pas d'autres idées

  7. #7
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2011
    Messages : 14
    Par défaut
    Non ca vient pas de la. Le 879 c'est la valeur de :p1.

    Donc pour p:10, la valeur étant "normalement" de 1, il rentre dans la requete ':p1'0 soit '879'0

Discussions similaires

  1. [Wamp] Problème d'insertion avec quote d'un formulaire
    Par cyberdevelopment dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 20/08/2006, 18h55
  2. [MySQL] Problème d'insertion avec apostrophe
    Par cari dans le forum PHP & Base de données
    Réponses: 86
    Dernier message: 11/07/2006, 12h21
  3. Problème d'insertion avec un champ Date/Heure ?
    Par bds2006 dans le forum Bases de données
    Réponses: 1
    Dernier message: 26/06/2006, 10h37
  4. Problème d'INSERT avec caractères accentués: mysql 5.0
    Par yizashi dans le forum Installation
    Réponses: 2
    Dernier message: 05/04/2006, 10h26
  5. Problème d'insertion avec MySQL
    Par Sonny dans le forum ASP
    Réponses: 13
    Dernier message: 28/08/2003, 13h52

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