IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[Conception] Retour arrière en cas de problème


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 99
    Par défaut [Conception] Retour arrière en cas de problème
    Salut,

    j'essaie de faire du code propre dans mes pages, pour l'instant mon site est à l'essai et donc la charge du serveur n'est pas très importante, mes requêtes SQL sont censés être exécutées en temps voulu mais ... j'ai quelques questions qui m'embetent :

    1. Si les requêtes sont correctes en syntaxe, est ce qu'il se peut qu'elles ne passent pas si une trop grosse charge serveur (ou autre chose) arrive ?

    2. Comment je peux faire pour revenir en arrière si l'une d'elles ne passent pas ?

    En fait j'ai 2 ou 3 requêtes à exécuter pour finir dans ma page, mais si l'une d'entre elles n'est pas exécutée ca peut faire déconner un tas de truc, j'avais regardé du coté des transactions mais est ce que c'est bien ça qu'il faut que je vois ?
    et est ce que si une fonction en php me retourne un code erreur je peux annuler des transactions ?

    j'aimerais votre aide je suis un peu perdu sur ce sujet, les transactions ont l'air un peu complexes et j'aimerais qu'on me signale si c'est la mauvaise voie avant que je continue

    merci d'avance

  2. #2
    Membre éprouvé Avatar de Cobaye
    Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 120
    Par défaut
    C'est pas PHP qui te permettra de faire un retour en arrière ! ce que tu peux faire si ton hébergement l'autorise c'est d'utiliser le format de table en InnoDB qui autorise la transaction contrairement au format MyISAM.

    En InnoDB tu ouvre une transactino, tu exécute ta requete et si la requete passe du valide la transactino sinon tu l'annule.

    Donc change de format de table si tu peux.
    a+

  3. #3
    Membre éprouvé
    Avatar de SOAD08
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 101
    Par défaut
    Je n'ai pas bien compris to problème... Tu veux revenir a l'etat precedent de ta table avant la requette en cas d'erreur ?

    Car si c'est le cas ou est l'interet si ta requette n'a pas été executée ?
    www.cppreference.com ==> A lire pour vos problèmes touchant à la STL
    www.php.net ==> A lire avant de demander le fonctionnement d'une fonction PHP

    Alliance developpez Muzgo

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 99
    Par défaut
    non c'est le contraire je voudrais executer 3 requetes l'une apres l'autre, mais si l'une d'entre elles ne passent pas revenir en arriere (par exemple la 2e ne marche pas, alors j'aimerais annuler la 1ere), apparemment il faut que je change le format myisam en innodb, ca c'est possible donc je vais changer.
    Donc c'est bien possible avec des transactions de revenir en arriere si la totalité de mes 3 requêtes n'est pas executée ?

    merci encore

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 99
    Par défaut
    juste une question, si la requête est correcte en syntaxe et que normalement elle doit passer à chaque fois, se peut il qu'elle ne passe pas suite a un ralentissement du serveur ou autre chose ? parce que je cherche a faire des transactions pour etre sur que toutes mes requetes passent mais techniquement elles sont bonnes il ne peut pas y avoir d'erreur de syntaxe
    peut etre que je m'embete pour rien

  6. #6
    Membre éprouvé
    Avatar de SOAD08
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 101
    Par défaut
    C'est possible qu'elles ne passe pas, oui, c'est toujours possible, mais je crois effectivement que tu t'embete pour rien car a là vitesse ou sont executées ces requettes, si la première passe, les 2 suivantes passeront.
    www.cppreference.com ==> A lire pour vos problèmes touchant à la STL
    www.php.net ==> A lire avant de demander le fonctionnement d'une fonction PHP

    Alliance developpez Muzgo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec un retour arrière
    Par philippef dans le forum Langage
    Réponses: 2
    Dernier message: 24/09/2008, 12h16
  2. retour arrière (undo)
    Par pierrot67 dans le forum Bases de données
    Réponses: 5
    Dernier message: 16/06/2006, 15h27
  3. Retour arrière sur une iframe
    Par Bicnic dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/05/2006, 16h34
  4. Retour arrière (back) + reset des formulaires
    Par Bicnic dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 03/04/2006, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo