[PHP-MySQL]

Fermé
Olivier - 20 févr. 2006 à 14:14
B@|-|@N Messages postés 386 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 7 décembre 2007 - 20 févr. 2006 à 17:34
Bonjour à tous,

J'ai un probleme au niveau de mes requetes sql. Enfin je suppose.

Tout d'abord voici ma requete :

mysql_query("INSERT INTO 'tbl_user' ('Id','Fullname','Firstname','Secname','Adr_stre','Adr_num','Adr_postal','Adr_city','Adr_commune','Adr_coun','Phone_num','Email') VALUES ('','$Family_name','$First_name','$Sec_name','$Adr_str','$Adr_num','$Adr_postal','$Adr_city','$Adr_Commune','$Adr_coun','$Phone_num','$Email')")
or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

Ensuite voici ma table tbl_user :

--
-- Structure de la table `tbl_user`
--

CREATE TABLE `tbl_user` (
`Id` int(5) NOT NULL,
`Fullname` varchar(20) collate latin1_general_ci NOT NULL,
`Firstname` varchar(20) collate latin1_general_ci NOT NULL,
`Secname` varchar(20) collate latin1_general_ci NOT NULL,
`Adr_stre` int(10) unsigned NOT NULL,
`Adr_num` int(10) unsigned NOT NULL,
`Adr_postal` int(10) unsigned NOT NULL,
`Adr_city` varchar(20) collate latin1_general_ci NOT NULL,
`Adr_commune` varchar(20) collate latin1_general_ci NOT NULL,
`Adr_coun` varchar(20) collate latin1_general_ci NOT NULL,
`Phone_num` int(10) unsigned NOT NULL,
`Email` varchar(25) collate latin1_general_ci NOT NULL,
`Department` varchar(25) collate latin1_general_ci NOT NULL,
`Function` varchar(25) collate latin1_general_ci NOT NULL,
`Role` varchar(25) collate latin1_general_ci NOT NULL,
`Actif` varchar(100) collate latin1_general_ci NOT NULL,
`Unique_num` int(8) NOT NULL,
PRIMARY KEY (`Id`),
KEY `Department` (`Department`),
KEY `Function` (`Function`),
KEY `Role` (`Role`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

Et maintenant voici mon probleme :

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 ''tbl_user' ('Id','Fullname','Firstname','Secname','Adr_stre','Adr_num','Adr_post' at line 1

Normalement mes champs department,Function et role sont des foreignkey vers 3 autres tables tbl_department, tbl_function et tbl_role. Mais il ne veut pas le prendre en compte.

Si quelqu'un pouvait faire en sorte que mon insertion fonctionne, ce serait super sympa.

Si il manque des informations je n'hésiterai pas à vous répondre. D'avance merci.
A voir également:

2 réponses

P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
20 févr. 2006 à 15:46
Moi je supprimerait un certain nombre de ' pour

mysql_query("INSERT INTO tbl_user (Id, Fullname, Firstname, Secname, Adr_stre, Adr_num, Adr_postal, Adr_city, Adr_commune, Adr_coun, Phone_num, Email) VALUES ('','$Family_name','$First_name','$Sec_name','$Adr_str','$Adr_num','$Adr_postal','$Adr_city','$Adr_Commune','$Adr_coun','$Phone_num','$Email')")
or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 


Mais c'est peut être autre chose ...
Bon courage
0
B@|-|@N Messages postés 386 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 7 décembre 2007 62
20 févr. 2006 à 17:34
mysql_query("INSERT INTO 'tbl_user' ('Id','Fullname','Firstname','Secname','Adr_stre','Adr_num','Adr_postal','Adr_city','Adr_commune','Adr_coun','Phone_num','Email') VALUES ('','$Family_name','$First_name','$Sec_name','$Adr_str','$Adr_num','$Adr_postal','$Adr_city','$Adr_Commune','$Adr_coun','$Phone_num','$Email')") 


Un truc important aussi c'est de ne pas mettre les variables comme ça dans une requête. Mieux vaut adopter une syntaxe du genre :

INSERT INTO tbl_user
(
Id, 
Fullname , 
Firstname, 
Secname, 
Adr_stre, 
Adr_num, 
Adr_postal, 
Adr_city, 
Adr_commune, 
Adr_coun, 
Phone_num, 
Email
) 
VALUES 
(
'',
'"$Family_name"',
'"$First_name"',
'"$Sec_name"',
'"$Adr_str"',
'"$Adr_num"',
'"$Adr_postal"',
'"$Adr_city"',
'"$Adr_Commune"',
'"$Adr_coun"',
'"$Phone_num"',
'"$Email"'
);

Autrement dit quand tu appelle une variable en tant que valeur pour un champ dans une requête, il faut "entourer" la variable par ' et par ".

Bahan
0