[PHP][MYSQL]
Résolu
Bonjour,
J'ai un problème je suppose de syntaxe dans ma requete, pourriez vous me dire si il y a un problème ?
$mysqlresult1 = mysql_query("INSERT INTO Cuestionario (Question1, Question2) VALUES ('$answer1',
'$answer2')");
Ma table est :
ID_Cuest // en auto incremente, PK
Question1
Question2
Question3
etc...
L'erreur est syntaxique d'après le message d'erreur mais étant débutant je ne vois pas ou.
Merci d'avance.
J'ai un problème je suppose de syntaxe dans ma requete, pourriez vous me dire si il y a un problème ?
$mysqlresult1 = mysql_query("INSERT INTO Cuestionario (Question1, Question2) VALUES ('$answer1',
'$answer2')");
Ma table est :
ID_Cuest // en auto incremente, PK
Question1
Question2
Question3
etc...
L'erreur est syntaxique d'après le message d'erreur mais étant débutant je ne vois pas ou.
Merci d'avance.
Configuration: Windows XP Internet Explorer 7.0
6 réponses
-
Peut-tu mettre l'erreur qu'il te met?
-
En fait il ne met met aucune erreur (il y a une erreur écrite mais je sais d'ou elle vient ce n'est rien de grave et n'a rien avoir avec cette partie du code).
C'est juste que l'insertion ne se fait pas correctement.
Lorsque je consulte ma table rien n'a été ajouté, pourtant si je fais la requête en mode linéaire (Champ après champ et non plusieurs champ en une requête) ca marche.
ex de code qui marche :
$mysqlresult4 = mysql_query("INSERT INTO Cuestionario (Question31) VALUES ('$answer31')");
Mais ayant un auto incrémente sur mon ID_Cuest, il faut que pour chaque envoie du script php, toute les questions soient rentrées dans ma base en même temps avant que l'autoincremente se passe. (correspond a envoyer toute les valeurs radio de mon questionnaire en une requête). -
@aNaROn peut voir le code de ta table et l'ajout de tes lignes qui ne marche pas???
-
-
voila une requete valide
$requete="INSERT INTO `dossier` VALUES ('$n_dossier','$ordre','$nom_charge','$n_forage','$code_postal','$adresse','$date','$x','$y','$z','$referentiel','$path')"; -
fait un truc du genre
$requete="INSERT INTO `dossier` VALUES ('$n_dossier','$ordre','$nom_charge')";
$result=mysql_query($requete);-
$requete="INSERT INTO `Cuestonario` VALUES
('$answer1','$answer2','answer3','answer31','answer32','answer33')";
$result=mysql_query($requete);
Toujours rien, aucune insertion ne s'est produite ni aucun message d'erreur.
Petite précision le questionnaire sous forme html se compose de 40 valeures radio, donc il y aurait 40 insert a faire dans une même requête.
Dans cet exemple ci-dessus je me demande si ce n'est pas parce que je n'ai pas inséré toutes les valeurs de la table que ca marche pas (car il n'est pas précisé dans cette requête le nom des champs, ex: question1, question2 etc...). -
@aNaR$requete="INSERT INTO `Cuestonario` VALUES
('$answer1','$answer2','answer3','answer31','answer32','answer33')";
Ne marchera pas si tu as des champs non renseigné (ex: Question 4,Question 5....Question 30) et ou tu n'a pas accepté les valeurs null -
-
-
il nous faudrait le format de ta table
-
exemple
CREATE TABLE `code` (
`ville` varchar(100) NOT NULL,
`code_postal` int(11) NOT NULL,
PRIMARY KEY (`code_postal`)
)-
CREATE TABLE `cuestionario` (
`ID_Cuest` int(4) NOT NULL auto_increment,
`Question1` text,
`Question2` char(1) default NULL,
`Question3` char(1) default NULL,
`Question31` char(1) default NULL,
`Question32` char(1) default NULL,
`Question33` char(1) default NULL,
`Question4` char(1) default NULL,
`Question41` char(1) default NULL,
`Question42` char(1) default NULL,
`Question43` char(1) default NULL,
`Question5` text,
`Question6` char(1) default NULL,
`Question61` char(1) default NULL,
`Question62` char(1) default NULL,
`Question63` char(1) default NULL,
`Question7` char(1) default NULL,
`Question71` char(1) default NULL,
`Question72` char(1) default NULL,
`Question73` char(1) default NULL,
`Question8` char(1) default NULL,
`Question81` char(1) default NULL,
`Question82` char(1) default NULL,
`Question83` char(1) default NULL,
`Question9` char(1) default NULL,
`Question91` char(1) default NULL,
`Question92` char(1) default NULL,
`Question93` char(1) default NULL,
`Question10` char(1) default NULL,
`Question101` char(1) default NULL,
`Question102` char(1) default NULL,
`Question103` char(1) default NULL,
`Question11` char(1) default NULL,
`Question12` text,
`Question13` char(1) default NULL,
`Question14` char(1) default NULL,
`Question15` char(1) default NULL,
`Question16` char(1) default NULL,
`Question17` char(1) default NULL,
`Question18` char(1) default NULL,
`Question19` text,
PRIMARY KEY (`ID_Cuest`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=22 ;
--
-- Contenu de la table `cuestionario`
--
-
-
Ils prennent quoi comme valeurs tes $answer2,3,31,32... par exemple??
-
-
@aNaREt tu peut nous mettre le code ou tu recup les variables et ou tu insere ds la BDD??
-
@aNaR$mysqlresult3 = mysql_query("INSERT INTO Cuestionario (Question3) VALUES ('$answer3')");
$mysqlresult4 = mysql_query("INSERT INTO Cuestionario (Question31) VALUES ('$answer31')");
Avec ce genre de requete ca marche, mais le probleme c'est qu'il sont insérés les un après les autres donc avec des ID_Cuest différent étant donné l'autoincremente.
D'un point de vue affichage pour être plus clair avec ce genre de requetes j'ai dans ma table answer2 une vlaeur, puis une nouvelle ligne avec answer3 etc... avec chaque ligne = un nouveau ID_Cuest.
C'est pour ca que je souhaite faire une seule requete contenant l'insert de toutes les valeurs de mon questionnaire. -
@aNaRJe n'ai que ce code d'insertion...
J'ai besoin d'un code de récupération des données en plus ? je croyais que de faire directement l'insert avec le $answer qui correspond au nom de ma déclaration de radio dans mon code html suffisait ? -
@aNaRPour finir l''exemple de mon code html :
<b><br>3. Por favor, puntúa tu grado de acuerdo/desacuerdo con las siguientes afirmaciones sobre jefe o superior inmediato: </b>
<table width="800">
<tr>
<td></td><td>Totalmente Satisfecho</td><td>Satisfecho</td><td>Insatisfecho</td><td>Totalmente Insatisfecho</td><td>No Aplicable</td>
</tr>
<tr>
<td>Conoce bien mi trabajo</td><td><center><input type="radio" value="1" name="answer3"></center></td><td><center><input type="radio" value="2" name="answer3"></center></td><td><center><input type="radio" value="3" name="answer3"></center></td><td><center><input type="radio" value="4" name="answer3"></center></td><td><center><input type="radio" value="5" name="answer3"></center></td>
</tr>
<tr>
<td>Me exige de forma razonable</td><td><center><input type="radio" value="1" name="answer31"></center></td><td><center><input type="radio" value="2" name="answer31"></center></td><td><center><input type="radio" value="3" name="answer31"></center></td><td><center><input type="radio" value="4" name="answer31"></center></td><td><center><input type="radio" value="5" name="answer31"></center></td>
</tr>
<tr>
<td>Se preocupe en escucharme</td><td><center><input type="radio" value="1" name="answer32"></center></td><td><center><input type="radio" value="2" name="answer32"></center></td><td><center><input type="radio" value="3" name="answer32"></center></td><td><center><input type="radio" value="4" name="answer32"></center></td><td><center><input type="radio" value="5" name="answer32"></center></td>
</tr>
<tr>
<td>Me ayuda cuando lo necesito</td><td><center><input type="radio" value="1" name="answer33"></center></td><td><center><input type="radio" value="2" name="answer33"></center></td><td><center><input type="radio" value="3" name="answer33"></center></td><td><center><input type="radio" value="4" name="answer33"></center></td><td><center><input type="radio" value="5" name="answer33"></center></td>
</tr>
</table>
-