Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

DBI, DBD::mysql et finish

1 réponse
Avatar
Mihamina Rakotomandimby
Bonjour,
Salement habitué à ne pas "fermer" mes connexion au serveur de base de
données, j'omets souvent mes "finish" apres un "execute".

Est-ce que le "finish" est implicite (fait automatiquement à la fin du
script qui s'execute)?

--
Huile Essentielle de Camphre http://www.huile-camphre.fr

1 réponse

Avatar
Paul Gaborit
À (at) Fri, 12 Dec 2008 13:18:09 +0300,
Mihamina Rakotomandimby écrivait (wrote):
Salement habitué à ne pas "fermer" mes connexion au serveur de base de
données, j'omets souvent mes "finish" apres un "execute".

Est-ce que le "finish" est implicite (fait automatiquement à la fin du
script qui s'execute)?



Attention : ne pas confondre 'finish' et 'disconnect'...

La méthode 'finish' s'applique à une requête SQL en cours d'exécution
pour indiquer au SGBD qu'on ne souhaite plus récupérer de données via
cette requête.

La méthode 'disconnect' s'applique à la connexion au SGBD pour
indiquer qu'on se déconnecte. Elle est appelée automagiquement à la
fin du script (s'il se termine normalement) mais c'est plus propre de
faire un appel explicite. L'effet sur les transactions en cours
(rollback ou commit automatique) varie en fonction du SGBD en cas
d'appel explicite. En cas d'appel implicite (par arrêt du script),
c'est un rollback systématique pour toutes les transactions en cours.


--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>