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 :

[MySQLi] Problème d'exécution de requêtes


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Février 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 2
    Par défaut [MySQLi] Problème d'exécution de requêtes
    Bonjour,

    Dans le cadre d’un site e-commerce, lors de la validation d’une commande j’ai besoin d’effectuer une succession requêtes d’insertion dans différentes tables (exemple : client/produit/devis/liens).
    La table liens ayant pour unique but de mettre en relation les données contenues dans les autres tables.

    Dans la majorité des cas, tout fonctionne parfaitement, mais parfois, il arrive que la dernière requête ne s’exécute pas correctement. Ce qui a pour résultat de valider la commande pour le client (aucun message d’erreur de son coté) mais du coté administration, on se retrouve avec des données isolées dans la base et aucun lien entre elles, ce qui n’est pas pratique pour retrouver quel client a commandé quel produit…

    J’aimerais dans un premier temps comprendre d’où peut venir se problème (client, code, hébergeur ?).
    Et surtout trouver comment corriger cela ou faire en sorte que si l’une des requêtes ne s’exécute pas, les autres soient annulées aussi et retourner un message d’erreur.

    J’ai essayé avec une transaction, mais a priori cela ne marche pas puisque l’erreur persiste parfois.

    Voici une partie du code en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    $link = mysqli_connect('localhost','xxx', 'xxxxxxx','xxxxxxx');
    if (!$link) {
        die("Echec de la connexion ");
    }
     
    mysqli_autocommit($link, FALSE);
     
    $SQLinsertclient = "INSERT INTO client (champs1,…,champsn)
                                VALUES ('$value1’',’…’,'$valuen’)";              
    mysqli_query($link,$SQLinsertclient);
    $idClient =mysqli_insert_id($link);
     
    $SQLinsertcommande = "INSERT INTO devis (
                                champs1,…, champsn)
                                VALUES ('$value1’,…,'$valuen’')";  
    mysqli_query($link,$SQLinsertcommande);
    $idCommande =mysqli_insert_id($link);
     
     
    $SQLliaison = "INSERT INTO `cppdc` ( ` champs1` , ` champs2` , ` champs3` , ` champs4` , ` champs5` ) 
    VALUES ('$ value1’,'$ value2’,' value3’,'$value4’,'$value5’)"; mysqli_query($link,$SQLliaison);
     
    mysqli_commit($link);
    mysqli_close($link);
    je précise aussi que j'ai essai en passant par les requêtes de type mysql avant d'utiliser les mysqli , mais cela ne change rien a mon problème.

    Merci d’avance
    Cordialement,
    Rémy

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    il arrive que la dernière requête ne s’exécute pas correctement
    tu as un message d'erreur ?

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Février 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 2
    Par défaut
    Non, en fait ces requêtes sont exécutées automatiquement, après validation du paiement par le client.
    Cela dit un client (pour qui il nous manquaient les données de la dernière requête dans la base) nous a confirmé n'avoir eu aucun message d'erreur aprés avoir valider son paiement CB.

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/04/2007, 00h18
  2. [MySQL] Problème d'exécution de requête
    Par hedgehog dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 23/02/2007, 15h29
  3. Problème d'exécution de requête
    Par Juanito-Toto dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 26/10/2006, 10h14
  4. problème d'exécution de requête sous VBA?
    Par jessy212 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/08/2006, 18h48
  5. [STRUTS/HIBERNATE] Problème d'exécution de requête
    Par mc_chicken dans le forum Hibernate
    Réponses: 5
    Dernier message: 21/10/2005, 09h27

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