[PHP-MySQL]

Olivier -  
B@|-|@N Messages postés 386 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   185
 
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   Statut Membre Dernière intervention   62
 
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