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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[eZ Publish 5] id du dernier insert BDD


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2013
    Messages : 32
    Par défaut [eZ Publish 5] id du dernier insert BDD
    Bonjour à tous,

    Je me sers actuellement d'une base annexe à celle d'Ez pour mes modules en php et je voulais obtenir le dernier id lors d'un insert dans ma table. Vu qu'Ez se sert de la classe eZMySQLiDB j'ai fait cela en essayant une transaction:
    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
    try{
    	$db->beginQuery();
     
    	$resultat = $db->query($requete);
    	$id_insere = $db->lastSerialID();
     
    	$db->commitQuery();
    	return $id_insere;
    }
    catch(Exception $e){
     
    	$db->rollbackQuery();
    	echo "code: ".$e->getCode();
    	echo "message: ".$e->getMessage();
    }
    Je voulais savoir si cette solution était viable ou si il en existe une autre ?

    En vous remerciant

  2. #2
    Membre éprouvé
    Homme Profil pro
    VP Community
    Inscrit en
    Septembre 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : VP Community
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 63
    Par défaut
    Bonjour,

    Il pourrait être intéressant de tester, dans un premier temps. Deuxième temps, jeter un oeil rapide à la méthode elle-même et donc tomber plus bas niveau pourrait donner de bonnes indications.

    N'hésite pas à nous tenir au courant,

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2013
    Messages : 32
    Par défaut
    Merci pour ta réponse

    En fait j'ai déjà testé et cela fonctionne, mais je vais avoir du trafic sur mon site donc j'ai peur au niveau de la robustesse du code.
    En feuilletant le code des fonctions Ez, ça m'a l'air d'être une couche supplémentaire qui utilise la classe PDO.

  4. #4
    Membre éprouvé
    Homme Profil pro
    VP Community
    Inscrit en
    Septembre 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : VP Community
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 63
    Par défaut
    Ah, mais tu es en eZ5 ici et tu utilises l'API, qui se base sur les Zeta Components. Donc oui PDO est la couche sous-jacente, cette couche d'abstraction DB est solide, ainsi que l'implémentation dans les Zeta Components.

    Tu devrais être safe.

    Pour t'assurer du tout tu peux toujours de créer un controller custom qui fait des insert, et ensuite lance le code collé dans ton post initial, et benchmarker avec ab (Apache Benchmark) avec un haut-niveau de parallélisme (concurrency).


    J'espère que cela t'aide,

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2013
    Messages : 32
    Par défaut
    Je te remercie pour ta réponse, pour l'instant je n'ai pas de problème lors de mes tests. Je vais essayer de les pousser mais ça devrait aller alors. J'avais surtout peur de la double inclusion d'un même id lors d'un insert par deux utilisateur simultané mais ça devrait être bon.

    Merci encore

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

Discussions similaires

  1. Insertion BDD acces
    Par theoffss dans le forum VB.NET
    Réponses: 1
    Dernier message: 19/03/2008, 23h31
  2. [MySQL] Prefixe pour insertion bdd !
    Par dekovince dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/05/2007, 16h24
  3. [MySQL] dernier enregistrement bdd
    Par franfr57 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/04/2007, 20h39
  4. [MySQL] afficher le dernier insert dans une table
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 20/02/2007, 11h58
  5. Réponses: 4
    Dernier message: 13/04/2004, 19h12

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