[php+mySQL]problème insertion bdd
Résolu
bezourox
Messages postés
730
Date d'inscription
Statut
Membre
Dernière intervention
-
Dalida Messages postés 6728 Date d'inscription Statut Contributeur Dernière intervention -
Dalida Messages postés 6728 Date d'inscription Statut Contributeur Dernière intervention -
bonjour à tous .
voila mon problème est que ma requète ne marche visiblement pas .
Voila le code php :
Réponse de l'exploreur :
Parse error: parse error in c:\program files\easyphp1-8\www\projet_final\qcm\reponse_qcm_general.php on line 143
ligne 143 :
$query = 'INSERT INTO `.$nom_du_qcm.` VALUES ('','.$site.','.$nom.','.$prenom.','.$date.','.$reponse_juste.','.$reponse_fausse.','.$ne_sais_pas.','.$liste_reponses_justes.','.$liste_reponses_fausses.','.$liste_je_ne_sais_pas.')';
J'ai testé la requète sous mySQL et voila la réponse :
MySQL a répondu:Documentation
#1103 - Nom de table ill�gal: '.$nom_du_qcm.'
Voila le nom de la table est en fait un parametre de la requete et je sais pas trop comment faire ...
voila mon problème est que ma requète ne marche visiblement pas .
Voila le code php :
mysql_select_db (DATABASE) or die('Erreur de connexion à la base de données'); if (!$serveur) { die('Non connecté : ' . mysql_error()); } else { $query = 'INSERT INTO `.$nom_du_qcm.` VALUES ('','.$site.','.$nom.','.$prenom.','.$date.','.$reponse_juste.','.$reponse_fausse.','.$ne_sais_pas.','.$liste_reponses_justes.','.$liste_reponses_fausses.','.$liste_je_ne_sais_pas.')'; $req = mysql_query($query); mysql_close(); echo '<center><br /><br />Résultats enregistrés correctement dans la base de données<br />'; echo '<font color=\'red\'>Veuillez vous déconnecter avant de fermer l\'Exploreur.<br /></center>'; echo '<center><table width=\'90\'>'; echo '<tr><td width=\'50%\'><center><img src=\'../images/print.gif\' alt=\'imprimer\' /> <a href=\'javascript:window.print()\'>Imprimer les résultats</a> </td>'; echo '<td width=\'50%\'><center><img src=\'../images/deco.gif\' alt=\'deconnexion\' /> <a href=\'logout.php\'>Se déconnecter</a></td></tr></table></center>'; }
Réponse de l'exploreur :
Parse error: parse error in c:\program files\easyphp1-8\www\projet_final\qcm\reponse_qcm_general.php on line 143
ligne 143 :
$query = 'INSERT INTO `.$nom_du_qcm.` VALUES ('','.$site.','.$nom.','.$prenom.','.$date.','.$reponse_juste.','.$reponse_fausse.','.$ne_sais_pas.','.$liste_reponses_justes.','.$liste_reponses_fausses.','.$liste_je_ne_sais_pas.')';
J'ai testé la requète sous mySQL et voila la réponse :
MySQL a répondu:Documentation
#1103 - Nom de table ill�gal: '.$nom_du_qcm.'
Voila le nom de la table est en fait un parametre de la requete et je sais pas trop comment faire ...
A voir également:
- [php+mySQL]problème insertion bdd
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
4 réponses
Bonjour!
L'erreur est évidente:
$query = "INSERT INTO $nom_du_qcm VALUES ('','$site.','$nom','$prenom','$date','$reponse_juste','$reponse_fausse','$ne_sais_pas','$liste_reponses_justes','$liste_reponses_fausses','$liste_je_ne_sais_pas')";
Cependant, j'ai des doutes au sujet des correspondances de tes variables, tu peux me donner le listing de tes variables et à quoi elles correspondent.
L'erreur est évidente:
$query = "INSERT INTO $nom_du_qcm VALUES ('','$site.','$nom','$prenom','$date','$reponse_juste','$reponse_fausse','$ne_sais_pas','$liste_reponses_justes','$liste_reponses_fausses','$liste_je_ne_sais_pas')";
Cependant, j'ai des doutes au sujet des correspondances de tes variables, tu peux me donner le listing de tes variables et à quoi elles correspondent.
oué pour ce qui est du listing des variables, pas de soucis il n'y a pas d'erreur la dessus .
et puis je vois pas trop a quoi cela sert de savoir le role de chacune de ces variables ... tant que les valeurs s'écrivent bien dans la bdd :)
et puis je vois pas trop a quoi cela sert de savoir le role de chacune de ces variables ... tant que les valeurs s'écrivent bien dans la bdd :)
salut,
en premier tu devrais mettre les valeurs à insérer entre doubles guillemets.
pour la table tu dois utiliser un mot protégé de SQL ('date' par exemple) ou un espace ou un caractère accentué, tu peux faire le ménage avec une expression régulière.
en premier tu devrais mettre les valeurs à insérer entre doubles guillemets.
pour la table tu dois utiliser un mot protégé de SQL ('date' par exemple) ou un espace ou un caractère accentué, tu peux faire le ménage avec une expression régulière.
Salut,
Je ne sais pas si les autres réponses t'ont aidées, mais je vois quelque chose qui n'a pas été dit... ou peut-être que ce n'est plus utile...
Quand tu écris un INSERT INTO... il faut écrire les champs que tu vas inséré avant...
Ex:
INSERT INTO table (champ1, champ2, champ3, ...) VALUES (donnee1, donnee2, donnee3, ...)
Je ne sais pas si les autres réponses t'ont aidées, mais je vois quelque chose qui n'a pas été dit... ou peut-être que ce n'est plus utile...
Quand tu écris un INSERT INTO... il faut écrire les champs que tu vas inséré avant...
Ex:
INSERT INTO table (champ1, champ2, champ3, ...) VALUES (donnee1, donnee2, donnee3, ...)
re,
c'est très vrai à une exception près : quand les valeurs insérées sont dans l'ordre des champs de la table et quelles sont toutes citées.
source : cours de php/MySQL de Cyberzoide sur developpez.com
c'est très vrai à une exception près : quand les valeurs insérées sont dans l'ordre des champs de la table et quelles sont toutes citées.
Une syntaxe plus courte [...] consiste à omettre la liste des noms d’attribut à la suite du nom de la relation. Cela impose que la liste des valeurs suivant le mot clé VALUES soit exactement celle définie dans la table et qu’elles soient dans l’ordre défini dans la définition de la table ; sinon des erreurs se produiront.
source : cours de php/MySQL de Cyberzoide sur developpez.com