Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/05/2007, 10h38   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 41
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 41
Points : 2
Points : 2
Par défaut [SQL] problème de requête sql d'insertion

bonjour tous le monde j'ai le code suivant :
Code :
1
2
3
4
$sql = "INSERT INTO materielsbpo  (type_materiel,marque,ref1,ref2,configuration,etat_materiel,type_panne,four_reparation,date_destruction,id_utilisateur,
 id_emplacement)
		 VALUES('$type_materiel','$marque','$ref1','$ref2','$configuration','$etat_materiel','$type_panne','$four_reparation','$date_destruction','$id_utilisateur','$id_emplacement') "; 
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());


lorsque je l'execute sous php my sql il m'affiche l'erreur suivant
Citation:
Erreur SQL !INSERT INTO materielsbpo (type_materiel, marque, ref1, ref2, configuration, etat_materiel, type_panne, four_reparation, date_destruction, id_utilisateur, id_emplacement) VALUES('','','','','','','','','','','')
Impossible d'ajouter un enregistrement fils : une constrainte externe l'empèche
belakhdarbts10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 10h44   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Y'a sûrement un champ qui est déclaré NOT NULL dans la structure de ta base.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 10h52   #3
Membre habitué
 
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 137
Points : 137
Ca a plutôt l'air de venir d'une contrainte de clé étrangère. Quelle est la structure de ta table ?
gk14fire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 13h42   #4
Membre du Club
 
Étudiant
Inscription : février 2007
Messages : 97
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2007
Messages : 97
Points : 63
Points : 63
Je vais peut être dire une bêtise mais n'aurais tu pas oublié le 'VALUES' dans ton INSERT INTO???


La syntaxe d'un insert into est

Code :
1
2
3
INSERT INTO Nom_Table
 
       VALUES (Valeur_1, '', ....... etc)
Toi tu as mis
Code :
Insert into Nom_table (Valeur_1...)
musicann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 13h46   #5
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Bah il y est le VALUES dans sa requête

Après le nom de la table il a mis le nom des champs c'est la meilleure démarche à suivre.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 13h48   #6
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 63
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : octobre 2006
Messages : 63
Points : 36
Points : 36
Envoyer un message via MSN à dekovince
Par défaut peut etre !

tel que je vois l erreur , entant que debutant apprentis novice ,

je dirais que soit tes variables sont vides, soit tu concatene :

Code :
1
2
3
4
 
$sql = "INSERT INTO materielsbpo  (type_materiel,marque,ref1,ref2,configuration,etat_materiel,type_panne,four_reparation,date_destruction,id_utilisateur,id_emplacement)	
VALUES('".$type_materiel."','".$marque."','".$ref1."','".$ref2."','".$configuration."','".$etat_materiel."','".$type_panne."','".$four_reparation."','".$date_destruction."','".$id_utilisateur."','".$id_emplacement".')"; 
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
sinon je sais pas !!

bon courage !!
dekovince est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 13h49   #7
Membre du Club
 
Étudiant
Inscription : février 2007
Messages : 97
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2007
Messages : 97
Points : 63
Points : 63
Ouuupsss
Je me suis trompé.. En effet le VALUES y est... Oula je vais retourner me coucher moi!!! MEA CULPA
musicann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 13h51   #8
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Euh le message d'erreur montre bien que le problème vient de la table ("problème de contrainte externe"), en plus il a affiché la requête qui foire, et elle est syntaxiquement correcte.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 13h57   #9
Membre habitué
 
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 137
Points : 137
Citation:
Envoyé par gk14fire
Ca a plutôt l'air de venir d'une contrainte de clé étrangère. Quelle est la structure de ta table ?
Pourrais-tu nous poster le code de création SQL de ta table
Code :
SHOW CREATE TABLE materielsbpo;
gk14fire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 14h11   #10
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 63
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : octobre 2006
Messages : 63
Points : 36
Points : 36
Envoyer un message via MSN à dekovince
Citation:
Envoyé par Amara
Euh le message d'erreur montre bien que le problème vient de la table ("problème de contrainte externe"), en plus il a affiché la requête qui foire, et elle est syntaxiquement correcte.

ca m'est arriver une fois que sans concatener ca ne marchait pas !!! je ne sais toujours pas pourquoi !!
dekovince est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h32.


 
 
 
 
Partenaires

Hébergement Web