Quand utilisez les transactions

x@v
Mammouth du PHP | 570 Messages

14 mai 2008, 12:41

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.

Mammouth du PHP | 1668 Messages

14 mai 2008, 13:33

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...
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Mammouth du PHP | 19672 Messages

14 mai 2008, 14:04

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
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

x@v
Mammouth du PHP | 570 Messages

14 mai 2008, 16:05

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 ?

Mammouth du PHP | 2937 Messages

14 mai 2008, 16:15

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.

Mammouth du PHP | 1668 Messages

14 mai 2008, 16:24

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
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

x@v
Mammouth du PHP | 570 Messages

14 mai 2008, 17:37

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 ?