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 :

Modification de 2 tables


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Par défaut Modification de 2 tables
    Bonjour,
    Je suis novice en PHP et Mysql
    Je voudrais modifier deux tables dans ma BDD
    Voilà le page de résultat d'un formulaire :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php 
    // On commence par récupérer les champs 
    if(isset($_POST['continent']))      $continent=$_POST['continent'];
    else      $continent="";
     
    if(isset($_POST['pays']))      $pays=$_POST['pays'];
    else      $pays="";
     
    if(isset($_POST['sous_continent']))      $sous_continent=$_POST['sous_continent'];
    else      $sous_continent="";
     
    if(isset($_POST['ville']))      $ville=$_POST['ville'];
    else      $ville="";
     
    if(isset($_POST['nom_webcam']))      $nom_webcam=$_POST['nom_webcam'];
    else      $nom_webcam="";
     
    if(isset($_POST['lien_webcam']))      $lien_webcam=$_POST['lien_webcam'];
    else      $lien_webcam="";
     
    if(isset($_POST['nom_critere']))      $nom_critere=$_POST['nom_critere'];
    else      $nom_critere="";
     
    $db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
    // sélection de la base  
     
        mysql_select_db('vol',$db)  or die('Erreur de selection '.mysql_error()); 
     
        $sql = "INSERT INTO webcam(idwebcam,continent,pays,sous_continent,ville,nom_webcam,lien_webcam,stat_visite,note_webcam) VALUES('','$continent','$pays','$sous_continent','$ville','$nom_webcam','$lien_webcam','','')"; 
     
        $idwebcam = mysql_insert_id(); 
     
        $sql = "INSERT INTO critere(idwebcam,nom_critere) VALUES('','$idwebcam','$nom_critere')"; 
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
     
    mysql_close($db); 
    ?>
    Et voilà le résultat :
    Erreur SQL !INSERT INTO critere('',idwebcam,nom_critere) VALUES('','0','Mer')
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''',idwebcam,nom_critere) VALUES('','0','Mer')' at line 1
    Si pouviez m'aider parce que là je coince

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    LA requete de cette ligne est fausse , tu essaie de mettre 3 valeurs dans 2 colonnes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "INSERT INTO critere(idwebcam,nom_critere) VALUES('','$idwebcam','$nom_critere')
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour,
    ici tu demandes de pouvoir insérer deux données, mais tu lui passe 3 valeurs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "INSERT INTO critere(idwebcam,nom_critere) VALUES('','$idwebcam','$nom_critere')"
    ceci serais plus correcte(a toi de voir, où doivent rentrer les données)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "INSERT INTO critere(idwebcam,nom_critere) VALUES('$idwebcam','$nom_critere')"
    grillé

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Par défaut
    Bonjour
    Toujours la même erreur:
    Erreur SQL !INSERT INTO critere(idwebcam,nom_critere) VALUES('0','Montagne')
    Cannot add or update a child row: a foreign key constraint fails (`vol/critere`, CONSTRAINT `critere_ibfk_1` FOREIGN KEY (`idwebcam`) REFERENCES `webcam` (`idwebcam`) ON DELETE NO ACTION ON UPDATE NO ACTION)

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    Non, ce n'est plus la même erreur.
    Ici, tu as un problème de clé étrangère : il faut que la valeur den l'attribut idwebcam de la table critere existe au préalable dans la table webcam.

  6. #6
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Ce n'est pas la même erreur non , la tu as une contrainte de clef étrangère qui stipule que tu ne peux pas mettre n importe quelle valeur dans la table fille ....

    Va falloir plancher sur le schema relationnel de la table

    Edit : Grillé
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Par défaut
    Dans ma table webcam le premier champ c'est "idwebcam" en "auto-increment"
    Dans ma table critere le premier champ c'est idcritere, le second "idwebcam" et le troisième et dernier "nom_critere"

  8. #8
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Citation Envoyé par Romuald63 Voir le message
    Dans ma table webcam le premier champ c'est "idwebcam" en "auto-increment"
    Dans ma table critere le premier champ c'est idcritere, le second "idwebcam" et le troisième et dernier "nom_critere"
    Ok c gentil mais ça n'aide pas tellement as-tu lu le message de alband85 (plus complet que le mien ) ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

Discussions similaires

  1. Ajout & modif d'une table vers l'autre
    Par BOTIGUA dans le forum Access
    Réponses: 1
    Dernier message: 17/02/2006, 18h00
  2. Tracer les modifications d'une table
    Par vinze11 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/02/2006, 13h44
  3. Vue non mise à jour après modification d'une table
    Par cybernet35 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/01/2006, 13h54
  4. date de dernière modification d'une table ?
    Par NiBicUs dans le forum Requêtes
    Réponses: 3
    Dernier message: 17/12/2004, 18h11
  5. Erreur lors de modification d'une table
    Par seb.49 dans le forum SQL
    Réponses: 11
    Dernier message: 13/01/2003, 17h16

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