Probleme Insertion MYSQL
Résolu/Fermé
BoyDkr81
Messages postés
32
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
7 août 2008
-
9 mai 2008 à 11:47
Utilisateur anonyme - 9 mai 2008 à 16:39
Utilisateur anonyme - 9 mai 2008 à 16:39
A voir également:
- Probleme Insertion MYSQL
- Insertion sommaire word - Guide
- Insertion liste déroulante excel - Guide
- Touche insertion clavier - Guide
- Insertion signature word - Guide
- Insertion filigrane word - Guide
4 réponses
Utilisateur anonyme
9 mai 2008 à 15:15
9 mai 2008 à 15:15
Salut,
je n'ai pas tout lu mais la dernière ligne :
$resultat_2 = mysql_query("INSERT INTO relation_1 VALUES ('$ID_Diplome', '$ID_Salarie) ") or die ("Impossible_3 car".mysql_error().".");
il te manque un ' deriere '$ID_Salarie
karando
je n'ai pas tout lu mais la dernière ligne :
$resultat_2 = mysql_query("INSERT INTO relation_1 VALUES ('$ID_Diplome', '$ID_Salarie) ") or die ("Impossible_3 car".mysql_error().".");
il te manque un ' deriere '$ID_Salarie
karando
Utilisateur anonyme
9 mai 2008 à 15:45
9 mai 2008 à 15:45
Bon la j'ai relu :
Je pense que tu peux essayer ca :
Essaye ca pour voir.
Je pense que tu peux essayer ca :
$req1="SELECT ID_Diplome FROM diplome WHERE Libelle_Diplome LIKE '$Libelle_Diplome'"; $sql_1 = mysql_query($req1); $ID_Diplome_result = mysql_fetch_array ($sql_1); $ID_Diplome= $ID_Diplome_result["ID_Diplome"]; $reqresultat1="INSERT INTO salarie VALUES ('', '$Civilite_Salarie', '$Nom_Salarie', '$Nom_JeuneFille_Salarie', '$Prenom_Salarie', '$Date_Naissance_Salarie', '$Pays_Naissance_Salarie', '$Ville_Naissance_Salarie', '$Nationalite_Salarie', '$Num_Secu_Salarie', '$Nombre_Enfant_Salarie', '$Adresse_Salarie', '$Ville_Salarie', '$Code_Postal_Salarie', '$Telephone_Fixe_Salarie', '$Telephone_Portable_Salarie', '$Date_Entree_Salarie', '$Date_Sortie_Salarie')"; //les insertion tu recupere rien mysql_query($reqresultat1); //ici je ferai un $ID_SALARIE = mysql_insert_id(); //sinon tu as fait $req2="SELECT ID_Salarie FROM salarie WHERE Nom_Salarie LIKE '$Nom_Salarie' AND Prenom_Salarie LIKE '$Prenom_Salarie'"; $sql_2= mysql_query($req2); $ID_Salarie_result = mysql_fetch_array($sql_2); $ID_Salarie = $ID_Salarie_result["ID_Salarie"]; $req_resutlat2= "INSERT INTO relation_1 VALUES ('$ID_Diplome', '$ID_Salarie') "; //les insertion tu recupere rien mysql_query($req_resutlat2);
Essaye ca pour voir.
BoyDkr81
Messages postés
32
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
7 août 2008
9 mai 2008 à 16:13
9 mai 2008 à 16:13
Bon je viens de tester avec ta méthode et il m'affiche le même message d'erreur.
Alors je me demande si le problème ne vient pas de ma base.
J'ai pourtant bien mis dans l'interface de gestion de phpMyAdmin les relations entre les tables. C-a-d de la table relation_1 vers diplome et vers salarie. Mais faut-il faire une relation dans le sens diplome -> relation_1, et salarie -> relation_1.
J'ai bien indexé dans la table relation_1 les deux champs ID_Diplome avec la clé primaire ID_Diplome de la table diplome et ID_Salarie avec la clé primaire ID_Salarie de la table salarie. Toutes mes tables sont en InnoDB.
Alors je me demande si le problème ne vient pas de ma base.
J'ai pourtant bien mis dans l'interface de gestion de phpMyAdmin les relations entre les tables. C-a-d de la table relation_1 vers diplome et vers salarie. Mais faut-il faire une relation dans le sens diplome -> relation_1, et salarie -> relation_1.
J'ai bien indexé dans la table relation_1 les deux champs ID_Diplome avec la clé primaire ID_Diplome de la table diplome et ID_Salarie avec la clé primaire ID_Salarie de la table salarie. Toutes mes tables sont en InnoDB.
Utilisateur anonyme
9 mai 2008 à 16:21
9 mai 2008 à 16:21
Au fait je voulais savoir pourquoi tu veux du innoDb car MyISAM est plus fiable.
Je m'explique le MyISAM ca ecrit dans des fichiers que tu peut transporter le innoBd ben si tu viande ton ordi tu perd tout. Et je certifie ca m'est deja arriver.
Apres pour les relations j'en ai jamais fais dans une mysql.
Alors La je sais pas trop quoi te dire.
Bon courage...
Je m'explique le MyISAM ca ecrit dans des fichiers que tu peut transporter le innoBd ben si tu viande ton ordi tu perd tout. Et je certifie ca m'est deja arriver.
Apres pour les relations j'en ai jamais fais dans une mysql.
Alors La je sais pas trop quoi te dire.
Bon courage...
BoyDkr81
Messages postés
32
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
7 août 2008
9 mai 2008 à 16:29
9 mai 2008 à 16:29
Ben car le MyISAM ne prend pas en charge l'indexation, c-a-d la gestion de clés étrangères.
En tous les cas merci quand même.
En tous les cas merci quand même.
Utilisateur anonyme
9 mai 2008 à 16:39
9 mai 2008 à 16:39
Ce que je fais en myisam si je dois faire des tables lier je fais souvent des index(champs) et definit dans la table comme ca il sont indexer par les id inserer :
par exemple :
J'ai defini une clé pour city_id qui est ma clé primaire dans la table t_city.
Je pense que toi tu veux faire une table avec deux clé comme ca. tu pourrais faire un truc du genre :
Create table relation_1 (
ID_Diplome tinyint(3) ,
ID_Salarie tinyint(3),
KEY `relation` (`ID_Diplome`,`ID_Salarie`)
)Engine MyISAM;
Enfin a voir.
Allez bon courage.
par exemple :
CREATE TABLE `t_client` ( `cli_id` smallint(3) unsigned NOT NULL auto_increment, ... `cli_valide` tinyint(1) NOT NULL default '1', ... `city_id` tinyint(2) unsigned NOT NULL default '0', ... PRIMARY KEY (`cli_id`), KEY `city_id` (`city_id`), KEY `cli_valide` (`cli_valide`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=473 ;
J'ai defini une clé pour city_id qui est ma clé primaire dans la table t_city.
Je pense que toi tu veux faire une table avec deux clé comme ca. tu pourrais faire un truc du genre :
Create table relation_1 (
ID_Diplome tinyint(3) ,
ID_Salarie tinyint(3),
KEY `relation` (`ID_Diplome`,`ID_Salarie`)
)Engine MyISAM;
Enfin a voir.
Allez bon courage.
9 mai 2008 à 15:28