Salut php_addict,
Oui c'est très clair pour moi je connait le principe des transactions ce que je ne comprend pas c'est pourquoi il accepte la transactions et quelques secondes plus tard tout est annulée, car je n'ai aucun rollback qui s'effectue après la transactions elle est considérer accomplie aucune erreur coter transactions mais bizarrement elle s'annule quelques secondes plus tard.
je n'ai pas mit le code entier mais j'utilise bien le try catch pour mes verif, et si j'ai une erreur alors rollback + message, le prob c'est que j'ai pas d'erreur
Je met mon code un peu plus complet
Oui c'est très clair pour moi je connait le principe des transactions ce que je ne comprend pas c'est pourquoi il accepte la transactions et quelques secondes plus tard tout est annulée, car je n'ai aucun rollback qui s'effectue après la transactions elle est considérer accomplie aucune erreur coter transactions mais bizarrement elle s'annule quelques secondes plus tard.
je n'ai pas mit le code entier mais j'utilise bien le try catch pour mes verif, et si j'ai une erreur alors rollback + message, le prob c'est que j'ai pas d'erreur
Je met mon code un peu plus complet
Code PHP :
<?php
try
{
$DB->setAttribute(PDO::ATTR_AUTOCOMMIT, false);
$DB->beginTransaction();
$sql = "SELECT gamer,temps,mail FROM tbl_gamer WHERE id='$id_sql'";
$req = $DB->query($sql);
$val = $req->fetch(PDO::FETCH_OBJ);
$DB->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$letemp = $val->temps;
$tempsajouter = ($letemp+($temps*86400));
$res = $DB->query("UPDATE tbl_gamer SET temps='$tempsajouter' WHERE gamer='".$val->gamer."'");
$DB->commit();
}
catch(Exception $e) //en cas d'erreur
{
// alerte popup jquery ui
alerte_erreur();
exit();
}
Voila ce que je voudrait c'est que cette transactions soit placer en file d'attente et passe quoi qu'il arrive, je pense que c'est le but des transactions et que si une tache est en cours elle attends et s'exécute juste après, maintenant si ça ne passe pas d'après la doc mysql c'est qu'il y a eu un plantage serveur ou autres ici le commit passe et ensuite reviens en arrière.
Pour ma tache cron c'est un simple update de toutes la table qui retirer 84600 secondes tous les jours.
Un grand merci pour votre aide