Je voudrais savoir s'il est possible de faire des transactions SQL entre des pages PHP.
J'explique le cas qui me parait être normal pour des transactions en premier pour expliquer mon cas après.
Prenons le cas ou on a un petit formulaire sur une page A.
Ce formulaire envois ses données saisies à la page B. Cette page B fait le traitement necessaire sur la vérification des données et les mets dans la base. Dans mon cas c'est PDO avec Sybase.
Dans ce modèle de traitement rien de bien méchant.
Pour ce qui est des transactions, sur la page B je rajoute une requette qui va faire un "beginTransaction()" avant de faire les requettes pour les données du formulaire. Un simple "commit()" devrait suffire pour commiter les données ou bien un "rollBack()" pour défaire en cas d'erreur.
Bon déjà rien que pour ce tout petit exemple, je me retrouve à faire moi même les requettes dans des "exec()" car le driver (FreeTDS) ne supporte pas les méthodes de PDO.
Ok, j'arrive a faire des transactions dans le cas qui cité plus haut. Maintenant je rajoute la question suivante :
Voici le petit problème que je peux gérer d'une autre manière dans le pire des cas. Toujours avec le cas précédent mais en rajoutant une nouvelle page C. Donc sur la page A, je fais mon formulaire. Sur la page B je prends les données pour les valider. Je voudrais lancer une transaction mais je ne veux pas encore la commit car je veux faire un autre formulaire. Je pars sur la page C qui elle recoit le nouveau formulaire de la page B et fait le traitement a la suite pour la transaction. Elle fait aussi le commit pour finir le traitement.Est-il possible de commencer une transaction sur une page et de la finir sur une autre page PHP ?
Est-ce possible de faire des transactions sur plusieurs saut de page ???
J'ai commencé un petit script mais je n'arrive pas a retrouver la transaction sur la page C. J'ai essayé avec une connexion persistante mais je ne sais pas si PDO et Sybase le gère correctement.
Je cherche cette solution pour faire de la recherche pour mon projet. Je m'en passerait bien mais ce serait peut être utile dans notre cas.
Merci de m'avoir lu et de m'aider.