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

SQL Procédural MySQL Discussion :

[SGBD] demande de conseil sur script util (FPDF et mysql_insert_id)


Sujet :

SQL Procédural MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 12
    Points : 10
    Points
    10
    Par défaut [SGBD] demande de conseil sur script util (FPDF et mysql_insert_id)
    Bonsoir,

    Je suis désolé d'utiliser un seul topic pour demander un conseil et un renseignement. Je sais que ce n'est généralement pas très apprécié.

    1) J'aimerai savoir s'il n'y a aucun risque de mélange de clé étrangère avec la foncton mysql_inster_id.

    Ex: Si deux personne utilise mon formulaire en même temps utilisant session et insertion dans la base de donnée à la fin avec un code comme celui-ci

    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
     
    $sql = "INSERT INTO client (mdp, mail, prenom, nom, adresse, cp, ville, tel) VALUES ('".$mdp."', '".$mail."', '".$prenom."', '".$nom."', '".$adresse."', '".$cp."', '".$ville."', '".$tel."')";
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
     
    $id_client = mysql_insert_id();
     
    $sql = "INSERT INTO vehicule (model, aut_model, aut_marque, imma, type, datemes, motor, nrj, preums, km, val, id_client) VALUES ('".$model."', '".$aut_model."', '".$aut_marque."', '".$imma."', '".$type."', '".$datemes."', '".$motor."', '".$nrj."', '".$preums."', '".$km."', '".$val."', '".$id_client."')";
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
     
    $id_vehicule = mysql_insert_id();
     
    $sql = "INSERT INTO contrat (statut, niv, duree, paiement, date, mtt, id_client, id_vehicule) VALUES ('".$statut."', '".$niv."', '".$duree."', '".$paiement."', '".$date."', '".$mtt."', '".$id_client."', '".$id_vehicule."')";
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
     
    $id_contrat = mysql_insert_id();
     
    $sql = "UPDATE client SET id_vehicule='".$id_vehicule."', id_contrat='".$id_contrat."' WHERE id='".$id_client."'";
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
     
    $sql = "UPDATE vehicule SET id_contrat='".$id_contrat."' WHERE id='".$id_vehicule."'";
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    Y a t'il un risque de mélange entre les deux personne comme une mauvaise attribution des clés étrangères pour le vehicule ou le contrat attribué au mauvais client.

    2) Je créai ensuite un lien dans le mail envoyé au client qui donne accès au dossier au format PDF grâce à FPDF.

    Existe-t-il une astuce pour que mon navigateur lors des tests de mise en page regénère à chaque fois le PDF au lieu de me redonner le PDF mis en cache et donc sans la modification apportée.

    D'avance merci.

    Bruno

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Y a t'il un risque de mélange entre ...
    le mélange c'est juste nous dans ton code

    Le last_insert_id est propre a la connexion. deux scripts différents qui accedent en meme temps verront leurs last_insert_id correctement renseigné

    Citation Envoyé par la doc mysql
    The value of mysql_insert_id() is affected only by statements issued within the current client connection. It is not affected by statements issued by other clients.
    Citation Envoyé par encore la doc mysql
    In many cases, users have wanted LOCK TABLES and/or ROLLBACK for the purpose of managing unique identifiers. This can be handled much more efficiently without locking or rolling back by using an AUTO_INCREMENT column and either the LAST_INSERT_ID() SQL function or the mysql_insert_id() C API function. See Section 12.9.3, “Information Functions”. See Section 23.2.3.36, “mysql_insert_id()”.
    Citation Envoyé par toujours la meme doc
    You can find the value used for an AUTO_INCREMENT column by using the LAST_INSERT_ID() function. From within the C API, use the mysql_insert_id() function. However, note that the two functions do not behave quite identically under all circumstances. The behavior of INSERT statements with respect to AUTO_INCREMENT columns is discussed further in Section 12.9.3, “Information Functions” and Section 23.2.3.36, “mysql_insert_id()”.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Merci pour le renseignement, pour être honnête la doc de mysql je ne l'ai pas lu car je ne suis pas anglophone, je préfèrai dessiner an cours d'anglais (je le regrette aujourd'hui ).

    Et il est vrai que si elle éxiste en français je ne l'ai pas beaucoup cherché, je vais faire cet effort dessuite.

    Merci encore.

    Edit:

    Bon, j'ai l'award du boulet, la doc fr éxiste bien évidément puisque j'y puise mes renseignements dedans et ma question venais d'un petit stress d'avant mise en ligne. En y réflechissant maintenant, je comprends bien pourquoi il n'y a pas de risque de mélange.

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

Discussions similaires

  1. demande d'aide sur scripts
    Par threepwood dans le forum Linux
    Réponses: 5
    Dernier message: 06/08/2008, 13h34
  2. Réponses: 6
    Dernier message: 13/12/2007, 13h30
  3. Réponses: 0
    Dernier message: 05/09/2007, 13h24
  4. demande de conseil sur le modèle entité/association
    Par amandiiiiiine dans le forum Access
    Réponses: 3
    Dernier message: 02/01/2007, 00h34
  5. demande de conseils sur l'utilisation d'index
    Par Ickou dans le forum Requêtes
    Réponses: 4
    Dernier message: 29/03/2006, 12h13

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