|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 43 ![]() |
Bonjour à vous tous,
J'ai un petit souci avec la méthode PDO::LastInsertId() et MySQL5. J'enregistre des données dans une table avec un id autoincrémenté et j'aimerais bien récupérer le dernier Id. Ceci me permettait d'utiliser cet Id pour l'insérer dans une table de liaison. Quand j'utilise une requête INSERT classique, LastInsertId() me retourne bien le dernier Id inséré dans la table. - PDO avec requête INSERT classique : Code :
- Procédure Stockée : Code :
Code :
Merci de m'éclairer sur ce point. Il serait dommage que je ne puisse pas utiliser mes procédures stockées dans mon projet. |
||||||
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 43 ![]() |
Que les experts en PDO se manifestent ...
|
|
|
00
|
|
|
#3 |
|
Provisoirement toléré
Inscription : juin 2003 Messages : 2 622 ![]() |
Essaie d'affecter la valeur de last_insert_id() à une variable de sortie dans ta procédure...
__________________
Pensez au bouton
|
|
|
00
|
|
|
#4 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 43 ![]() |
En faisant ainsi :
Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Provisoirement toléré
Inscription : juin 2003 Messages : 2 622 ![]() |
Avec une variable de session MySQL :
Code :
__________________
Pensez au bouton
|
||
|
|
00
|
|
|
#6 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 43 ![]() |
Je viens de tester à l'instant, et cela fonctionne (je n'en douté pas).
Pour résumé, cela donne cela alors : Code :
Merci à toi pour tes lumières |
||
|
|
00
|
|
|
#7 | ||
|
Provisoirement toléré
Inscription : juin 2003 Messages : 2 622 ![]() |
Citation:
Citation:
__________________
Pensez au bouton
|
||
|
|
00
|
|
|
#8 | ||||
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 43 ![]() |
Merci pour tes réponses, tu as su m'éclairer.
Voila ce que cela donne pour la Procédure Stockée: Code :
Code :
|
||||
|
|
00
|
|
|
#9 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 43 ![]() |
Maintenant j'ai bien avancé dans mon projet mais les problèmes se déplacent (ou c'est plutôt mon manque d'expérience qui fait surface...)
J'essaie d'enchaîner deux procédures de ce type. Je m'explique. - j'ai une première procédure qui me permet de créer un terrain et de récupérer son id (id_terrain) - j'ai une deuxième procédure qui me permet de créer une personne et de récupérer son id (id_personne) Le but de cette opération est d'insérer ces deux id (id_terrain et id_personne) dans une table de liaison (table vendeur). Donc j'ai comme code : Code :
Code :
Cannot execute queries while other unbuffered queries are active. Consider USING PDOStatement::fetchAll(). Alternatively, IF your code IS only ever going TO run against mysql, you may enable query buffering BY setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute. |
||
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 43 ![]() |
J'ai rajouté ceci à l'instanciation de mon objet PDO :
Code :
$connectBDD = new PDO($dsn, $login, $mdp, array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY=>true )) Merci d'avance pour vos remarques |
|
|
00
|
|
|
#11 | ||
|
Futur Membre du Club
![]() Inscription : avril 2006 Messages : 25 ![]() |
bonjour, j'ai exactement le meme probleme, mais sur une requete toute simple
Code :
A tu trouvé à quoi sert ce parametre? a+ |
||
|
|
00
|
|
|
#12 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 43 ![]() |
Effectivement, en lisant la doc PDO, PDO::MYSQL_ATTR_USE_BUFFERED_QUERY utilise les requêtes beuffeurisées.
Même après quelques recherche, je n'ai pas eu de réponse explicite. Si quelqu'un pouvait nous éclairer .... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com