

new!








|
[ Forums >> Webmasters >> Les autres langages >> MySQL error en ligne 1... mais il n'y a rien ! Si ? ]
| > MySQL error en ligne 1... mais il n'y a rien ! Si ? |
[ Posté par asseauciation ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 04-06-2008 à 18:56 | 7 messages ]
  |
 Bonjour,
je reviens sur ce forum après un long moment. C'était plutôt sympa comme ambiance et très utile et formateur.
Je suis passée au PHP... enfin je débute... et on me donne un coup de main à côté aussi !
Mais voilà :
j'ai créé deux formulaires de la même manière sauf que l'un est un peu plus long que l'autre. Et c'est ce dernier qui plante alors que l'autre non...
Je vous mets le code SQL qui est déjà assez long... je mettrais la page html si besoin plus tard (c'est encore plus long bien sur).
<?php
require("config.inc.php");
$connect = mysql_connect($host,$username,$password) or die ("erreur de connexion");
mysql_select_db($bdd_name,$connect) or die ("erreur de connexion base");
$nom = $_POST['nom'];
$horaires = $_POST['horaires'];
$horaires1 = $_POST['horaires1'];
$accueil = $_POST['accueil'];
$accueil1 = $_POST['accueil1'];
$logistique = $_POST['logistique'];
$logistique1 = $_POST['logistique1'];
$autres = $_POST['autres'];
$autres1 = $_POST['autres1'];
$documentation = $_POST['documentation'];
$documentation1 = $_POST['documentation1'];
$logement = $_POST['logement'];
$logement1 = $_POST['logement1'];
$repas = $_POST['repas'];
$repas1 = $_POST['repas1'];
$transport = $_POST['transport'];
$transport1 = $_POST['transport1'];
$autres2 = $_POST['autres2'];
$autres3 = $_POST['autres3'];
$hydro = $_POST['hydro'];
$hydro1 = $_POST['hydro1'];
$hydraulique = $_POST['hydraulique'];
$hydraulique1 = $_POST['hydraulique1'];
$geomorpho = $_POST['geomorpho'];
$geomorpho1 = $_POST['geomorpho1'];
$assainissement = $_POST['assainissement'];
$assainissement1 = $_POST['assainissement1'];
$bio = $_POST['bio'];
$bio1 = $_POST['bio1'];
$activites = $_POST['activites'];
$activites1 = $_POST['activites1'];
$histoire = $_POST['histoire'];
$histoire1 = $_POST['histoire1'];
$risques = $_POST['risques'];
$risques1 = $_POST['risques1'];
$gestion_eau = $_POST['gestion_eau'];
$gestion_eau1 = $_POST['gestion_eau1'];
$droit = $_POST['droit'];
$droit1 = $_POST['droit1'];
$territoire = $_POST['territoire'];
$territoire1 = $_POST['territoire1'];
$paysage = $_POST['paysage'];
$paysage1 = $_POST['paysage1'];
$valorisation = $_POST['valorisation'];
$valorisation1 = $_POST['valorisation1'];
$tourisme = $_POST['tourisme'];
$tourisme1 = $_POST['tourisme1'];
$eco = $_POST['eco'];
$eco1 = $_POST['eco1'];
$resto = $_POST['resto'];
$resto1 = $_POST['resto1'];
$diagnostic = $_POST['diagnostic'];
$diagnostic1 = $_POST['diagnostic1'];
$methodologie = $_POST['methodologie'];
$methodologie1 = $_POST['methodologie1'];
$com = $_POST['com'];
$com1 = $_POST['com1'];
$carto = $_POST['carto'];
$carto1 = $_POST['carto1'];
$tutore = $_POST['tutore'];
$tutore1 = $_POST['tutore1'];
$recrutement = $_POST['recrutement'];
$recrutement1 = $_POST['recrutement1'];
$heures = $_POST['heures'];
$heures1 = $_POST['heures1'];
$evaluation = $_POST['evaluation'];
$evaluation1 = $_POST['evaluation1'];
$terrain = $_POST['terrain'];
$terrain1 = $_POST['terrain1'];
$travail = $_POST['travail'];
$travail1 = $_POST['travail1'];
$stage = $_POST['stage'];
$stage1 = $_POST['stage1'];
$cout = $_POST['cout'];
$cout1 = $_POST['cout1'];
$groupe = $_POST['groupe'];
$groupe1 = $_POST['groupe1'];
$attentes = $_POST['attentes'];
$attentes1 = $_POST['attentes1'];
$general = $_POST['general'];
$forts = $_POST['forts'];
$faibles = $_POST['faibles'];
$autres4 = $_POST['autres4'];
if($nom != '' AND $horaires!= "" AND $accueil != "" AND $logistique != "" AND $documentation != "" AND $logement != "" AND $repas != "" AND $transport != "" AND $hydro != "" AND $hydraulique != "" AND $geomorpho != "" AND $assainissement != "" AND $bio != "" AND $activites != "" AND $histoire != "" AND $risques != "" AND $gestion_eau != "" AND $droit != "" AND $territoire != "" AND $paysage != "" AND $valorisation != "" AND $tourisme != "" AND $eco != "" AND $resto != "" AND $diagnostic != "" AND $methodologie != "" AND $com != "" AND $carto != "" AND $tutore != "" AND $recrutement != "" AND $heures != "" AND $evaluation != "" AND $terrain != "" AND $travail != "" AND $stage != "" AND $cout != "" AND $groupe != "" AND $attentes != "" AND $general != "" AND $forts != "" AND $faibles != "")
{
$envoieconditions = "INSERT INTO conditions(nom, horaires, horaires1, accueil, accueil1, logistique, logistique1, autres, autres1, documentation, documentation1, logement, logement1, repas, repas1, transport, transport1, autres2, autres3)
VALUES ('$nom', '$horaires', '$horaires1', '$accueil', '$accueil1', '$logistique', '$logistique1', '$autres', '$autres1', '$documentation', '$documentation1', '$logement', '$logement1', '$repas', '$repas1', '$transport', '$transport1', '$autres2', '$autres3')" ;
$envoiecontenuA = "INSERT INTO contenuA(nom, hydro, hydro1, hydraulique, hydraulique1, geomorpho, geomorpho1, assainissement, assainissement1, bio, bio1, activites, activites1, histoire, histoire1, risques, risques1)
VALUES ('$nom', '$hydro', '$hydro1', '$hydraulique', '$hydraulique1', '$geomorpho', '$geomorpho1', '$assainissement', '$assainissement1', '$bio', '$bio1', '$activites', '$activites1', '$histoire', '$histoire1', '$risques', '$risques1')" ;
$envoiecontenuB = "INSERT INTO contenuB(nom, gestion_eau, gestion_eau1, droit, droit1, territoire, territoire1, paysage, paysage1, valorisation, valorisation1, tourisme, tourisme1, eco, eco1, resto, resto1)
VALUES ('$nom', '$gestion_eau', '$gestion_eau1', '$droit', '$droit1', '$territoire', '$territoire1', '$paysage', '$paysage1', '$valorisation', '$valorisation1', '$tourisme', '$tourisme1', '$eco', '$eco1', '$resto', '$resto1')" ;
$envoiecontenu10 = "INSERT INTO contenu10(nom, diagnostic, diagnostic1, methodologie, methodologie1, com, com1, carto, carto1, tutore, tutore1)
VALUES ('$nom', '$diagnostic', '$diagnostic1', '$methodologie', '$methodologie1', '$com', '$com1', '$carto', '$carto1', '$tutore', '$tutore1')" ;
$envoiederoulement = "INSERT INTO deroulement(nom, recrutement, recrutement1, heures, heures1, evaluation, evaluation1, terrain, terrain1, travail, travail1, stage, stage1, cout, cout1)
VALUES ('$nom', '$recrutement', '$recrutement1', '$heures', '$heures1', '$evaluation', '$evaluation1', '$terrain', '$terrain1', '$travail', '$travail1', '$stage', '$stage1', '$cout', '$cout1')" ;
$envoiegeneral = "INSERT INTO general(nom, groupe, groupe1, attentes, attentes1, general, forts, faibles, autres4)
VALUES ('$nom', '$groupe', '$groupe1', '$attentes', '$attentes1', '$general', '$forts', '$faibles', '$autres4')" ;
$requete3 = mysql_query($envoieconditions AND $envoiecontenuA AND $envoiecontenuB AND $envoiecontenu10 AND $envoiederoulement AND $envoiegeneral) or die( mysql_error() ) ;
if($requete3)
{
$message = $Nom . "\n a enregistré une nouvelle évaluation de la formation";
if(mail('a.cunillera@laposte.net', 'Evaluation formation_NL', $message))
echo "L'ensemble des données a bien été enregistré, n'oubliez pas que vous pouvez renvoyer le word de NL avec des avis plus confidentiels et/ou personnels. A +";
}
}
else
{
echo "Hé, ho ? Tu es sûr(e) de tout avoir rempli ? Au moins chaque choix 'Satisfaisant', 'Moyennement satisfaisant' ou 'Pas satisfaisant' ? Et ton nom ? Si ca ne fonctionne vraiment pas, contactes-moi : acf@laposte.net";
}
?>
|
|
Le tout est un questionnaire de satisfaction divisé en 6 tables (conditions, contenuA, contenuB, contenu10, deroulement et general). Les personnes y répondant ne peuvent envoyer le formulaire qu'après avoir compléter un certain nombre de champs obligatoires (comme souvent) égrenés dans le premier "if".
J'ai testé le tout, la (seule ?) erreur qui me reste dit : "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 '1' at line 1"
et je trouve pas le truc...
Auriez vous une solution ?
________________ L'AssEAUciation : "Heureux l'étudiant qui, comme la rivère, arrive à suivre son cours sans quitter son lit."
 
|
|
|
[ Posté par EricM ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 05-06-2008 à 09:23 | 4150 messages ]
  Bonjour,
a priori la ligne 1 fait référence à la requête, et non à la page PHP.
Ceci dit les n° de lignes SQL sont généralement approximatifs 
Dans la mesure où tes VALUES sont des variables, m'étonnerait qu'il faille les entourer de quottes ...
A+
________________ L'échec est le fondement de la réussite.
- Lao Tseu -
| [ Posté par v1nce ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 05-06-2008 à 09:43 | 3815 messages ]
 
$requete3 = mysql_query($envoieconditions AND $envoiecontenuA AND $envoiecontenuB AND $envoiecontenu10 AND $envoiederoulement AND $envoiegeneral) or die( mysql_error() ) ;
|
|
insert into **** AND insert into **** AND insert into ****
ça se fait ça ?
Il ne faut pas plutôt faire les requêtes 1 par 1 (ou alors les séparer par des . Mais dans AND cela me parait bizarrre
puis
insert into **** '$var1' si $var 1 vaut " ' " cela risque de ne pas fonctionner.
A moins que tu ais escaper tes var qqpart...
________________ V1nce
Si je les ai oubliés les bonjour, merci et au revoir sont implicites
Brevets logiciels : dites NON !
http://petition.eurolinux.org/index.html
http://swpat.ffii.org/index.fr.html
| [ Posté par EricM ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 05-06-2008 à 10:40 | 4150 messages ]
 
v1nce a dit
insert into **** AND insert into **** AND insert into ****
ça se fait ça ? |
|
Bien sûr que non !
________________ L'échec est le fondement de la réussite.
- Lao Tseu -
| [ Posté par guySk ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 05-06-2008 à 10:43 | 713 messages ]
  Quand j'ai un soucis de sql, je m'arrange pour récupérer la chaîne de caractères que j'ai formé (par un alert -sous javascript- ou un echo -sous php-) et je la rebalance directement dans mysqladmin, là il te dit ou se situe l'erreur.
Mais sinon, tout ce qui a été dit par mes deux camarades est exact et il faut vérifier dans ce sens là.
[Message édité par guysk le 05-06-2008 à 10:43]
________________ a'++'a
| [ Posté par asseauciation ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 05-06-2008 à 18:31 | 7 messages ]
  Donc, si j'ai bien compris il faut que je fasse plusieurs requêtes de suite "reliées" par un "if". Je tente
Merci beaucoup de vos réponses.
________________ L'AssEAUciation : "Heureux l'étudiant qui, comme la rivère, arrive à suivre son cours sans quitter son lit."
| [ Posté par guySk ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 05-06-2008 à 20:50 | 713 messages ]
  Non, le séparateur de requêtes est le ";"
Tu fais chaque requêtes :
requêteMultiple = "première requête; seconde requête;..."
|
|
________________ a'++'a
| [ Posté par asseauciation ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 05-06-2008 à 22:02 | 7 messages ]
  heu... ben du coup j'ai rajouté/changé ça
$envoie1 = mysql_query($envoieconditions) or die( mysql_error() ) ;
$envoie2 = mysql_query($envoiecontenuA) or die( mysql_error() ) ;
$envoie3 = mysql_query($envoiecontenuB) or die( mysql_error() ) ;
$envoie4 = mysql_query($envoiecontenu10) or die( mysql_error() ) ;
$envoie5 = mysql_query($envoiederoulement) or die( mysql_error() ) ;
$envoie6 = mysql_query($envoiegeneral) or die( mysql_error() ) ;
if($envoie1 AND $envoie2 AND $envoie3 AND $envoie4 AND $envoie5 AND $envoie6)
{
$message = $Nom . "\n a enregistré une nouvelle évaluation de la formation"; |
| blablabla
et ça a l'air de fonctionner.
MErci beaucoup pour le coup de main, en tous cas !
________________ L'AssEAUciation : "Heureux l'étudiant qui, comme la rivère, arrive à suivre son cours sans quitter son lit."
|
|
Services email :
  Vous devez vous identifier pour profiter des services par email du forum.
|

|