Page 1 sur 1

Quand utilisez les transactions

Posté : 14 mai 2008, 12:41
par x@v
Bonjour,
je me suis fait une application e-commerce
www.developpus.com/mvc/
et j'utilise massivement les transactions
http://fr.php.net/manual/fr/pdo.transactions.php
Mais puisque sa sécurise et abandonne éventuellement une requête en cour en cas de double soumission par exemple ?
Sur un
SELECT * FROM...
qui est en même temps sollicité, il doit y avoir un abandon de la requête ?
Merci d'avance.

Re: Quand utilisez les transactions

Posté : 14 mai 2008, 13:33
par katagoto
Mais puisque sa sécurise et abandonne éventuellement une requête en cour en cas de double soumission par exemple ?
Je comprends pas ta question...

Re: Quand utilisez les transactions

Posté : 14 mai 2008, 14:04
par Cyrano
Mais puisque sa sécurise et abandonne éventuellement une requête en cour en cas de double soumission par exemple ?
Je comprends pas ta question...
Pas mieux, il doit manquer un mot ou deux :-k

Posté : 14 mai 2008, 16:05
par x@v
D'après la lecture de la doc il semble que les transactions ne sont intéressantes que dans le cadre de mise à jour de tables ?
Fais-je fausse route ?
Dans ce cadre pouvons nous faire des requêtes préparées dans une transaction ?

Posté : 14 mai 2008, 16:15
par Victor BRITO
D'après la lecture de la doc il semble que les transactions ne sont intéressantes que dans le cadre de mise à jour de tables ?
Fais-je fausse route ?
Dans ce cadre pouvons nous faire des requêtes préparées dans une transaction ?
Une recherche sur le manuel de MySQL te donne de quoi lire.

De plus, pour autant que je sache, transaction et requêtes préparées sont deux choses différentes, l'une n'empêchant pas l'autre et les deux pouvant être réalisées grâce à PDO.

Posté : 14 mai 2008, 16:24
par katagoto
Bah c'est utile par exemple quand tu dois inserer plusieurs données dans différentes tale, s'il est impossible de réaliser ce travail hop rollback :P

Posté : 14 mai 2008, 17:37
par x@v
Pas seulement, j'ai envie de les mettres(transactions) à toutes les sauces, aigre-douces, sucré, salé...
Il est indiqué dans la doc que c'est plus rapide.
Restent à les implémenter avec les requêtes préparés...

Code : Tout sélectionner

public function prepare($sql) { try { $this->con = parent::beginTransaction(); //$result= parent::query($reqSelect); $result= parent::prepare($sql); $this->con = parent::commit(); return $result; } catch (Exception $e) { //On indique par email que la requête n'a pas fonctionné. error_log(date('D/m/y').' à '.date("H:i:s").' : '.$e->getMessage(), 1, '[email protected]'); $this->con =parent::rollBack(); $message= new Message(); $message->outPut('Erreur dans la requêtte', 'Votre requête a été abandonné'); } }
Sa fonctionne avec prepare comme méthode, mais est ce valable ?