Erreur exécution requête de type insert into [Résolu/Fermé]

Signaler
-
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
-
Bonjour,

Je suis en train de développer une application web et j'ai un problème d'exécution de requête. Dans mon formulaire j'ai une zone de liste qui m'affiche mes épreuves avec numéro et nom de l'épreuve. Je sélectionne une épreuv et je clic ensuite sur le bouton pour enregistrer la participation à l'épreuve et là le message erreur d'exécution de la requête apparait et je ne vois pas mon erreur.

Voici les scripts:

listeEpreuves.php
<html>
<head>
</head>
<body background="Images\schuiten.jpg">
<table bgcolor =#E8BA9F width=60% border = "1" align="center">
<tr>
<td align="center"><font size="4"color=#713E20 face = "times new roman"><b><i><?Php Echo "Consultation des épreuves par ".$MonPrenomAdherent." ".$MonNomAdherent;?></i></b></font></td>
</tr>
</table>
</br>
<table bgcolor =#E8BA9F width=100% border = "1" align="center" cellpadding="2">
<tr align="center">
<th><font size="3"color=#713E20 face = "times new roman"><i>Code</i></font></th>
<th><font size="3"color=#713E20 face = "times new roman"><i>Intitulé</i></font></th>
<th><font size="3"color=#713E20 face = "times new roman"><i>Type</i></font></th>
<th><font size="3"color=#713E20 face = "times new roman"><i>Lieu</i></font></th>
<th><font size="3"color=#713E20 face = "times new roman"><i>Site web</i></font></th>
<th><font size="3"color=#713E20 face = "times new roman"><i>Niveau</i></font></th>
<th><font size="3"color=#713E20 face = "times new roman"><i>Date épreuve</i></font></th>
<th><font size="3"color=#713E20 face = "times new roman"><i>Inscription avant</i></font></th>
th><font size="3"color=#713E20 face = "times new roman"><i>Frais inscription</i></font></th>
</tr>
<?php
// Connexion au serveur MySQL
$db=mysql_connect("127.0.0.1","root","")or die("Erreur de connexion au serveur");

// Connexion à la base de données CEC
mysql_select_db("groupe1_p13_cecdrl",$db)or die ("Erreur de connexion à la base CEC");

// Requête SQL qui sélectionne les caractéristiques des épreuves dans la table EPREUVE
$MonSql="SELECT NumEpreuve, NomEpreuve, TypeEpreuve, DATE_FORMAT(DateEpreuve,'%d/%m/%Y') AS DatePHPEpreuve, LieuEpreuve, NiveauEpreuve, FraisEpreuve, DATE_FORMAT(DateLimiteInscription,'%d/%m/%Y') AS DatePHPLimiteInscription, siteWeb FROM EPREUVE";

// Exécution de la requête
$MonResultat=mysql_query($MonSql)or die ("Erreur d'exécution de la requête");

//Test de la requête
if(!mysql_num_rows($MonResultat))
{
// Message d'alerte pour l'adhérent "Le nom utilisateur et/ou le prénom est incorrect"
Echo "<script language='Javascript'>";
Echo "<!--\n"; // le "\n" permet de passer une ligne en Javascript
Echo "alert('Aucune épreuve listée à ce jour');\n";
Echo "// -->\n";
Echo "</script\n>";
// Insertion du formulaire de connexion de l'adhérent
Include("formConnexionAdherent.html");
}
else
{
// Boucle Tanque qu'il existe une ligne dans la requête
While ($ligne=mysql_fetch_array($MonResultat))
// Afficher les caractéristiques de l'épreuve
{ Echo("<tr><td align='center'><font size='2'color=#713E20 face = 'times new roman'><i>".$ligne["NumEpreuve"]."</i></font></td>");
Echo("<td align='center'><font size='2'color=#713E20 face = 'times new roman'><i>".$ligne["NomEpreuve"]."</i></font></td>");
Echo("<td align='center'><font size='2'color=#713E20 face = 'times new roman'><i>".$ligne["TypeEpreuve"]."</i></font></td>");
Echo("<td align='center'><font size='2'color=#713E20 face = 'times new roman'><i>".$ligne["LieuEpreuve"]."</i></font></td>");
Echo("<td align='center'><font size='2'color=#713E20 face = 'times new roman'><a href = 'siteWeb' target='_blank'><i>".$ligne["siteWeb"]. "</i></a></font></td>");
Echo("<td align='center'><font size='2'color=#713E20 face = 'times new roman'><i>".$ligne["NiveauEpreuve"]."</i></font></td>");
Echo("<td align='center'><font size='2'color=#713E20 face = 'times new roman'><i>".$ligne["DatePHPEpreuve"]."</i></font></td>");
Echo("<td align='center'><font size='2'color=#713E20 face = 'times new roman'><i>".$ligne["DatePHPLimiteInscription"]."</i></font></td>");
Echo("<td align='center'><font size='2'color=#713E20 face = 'times new roman'><i>".$ligne["FraisEpreuve"]." € </i></font></td></tr>");
}
}
// Fermeture de la connexion
mysql_close($db);
?>
</table>
<p></p>
<table bgcolor =#E8BA9F width=60% border = "1" align="center">
<tr>
<td align="center"><font size="4"color=#6F4242 face = "times new roman"><b><i>Formulaire de préinscription à une épreuve</i></b></font></td>
</tr>
</table>
<br/>
<form method="POST" action="ConfirmationPreinscription.php">
<table bgcolor =#E8BA9F width=60% border = "1" cellpadding="4" align="center">
<tr>
<Input type="hidden" name="LicenceAdherent" value=<?php Echo $MonNumLicenceAdherent?> />
<Input type="hidden" name="PrenomAdherent" value=<?php Echo $MonPrenomAdherent?> />
<Input type="hidden" name="NomAdherent" value=<?php Echo $MonNomAdherent?> />
<td align="left"><font size="3"color=#6F4242 face = "times new roman"><i><b>Séléctionnez l'épreuve à laquelle vous souhaitez vous inscrire :</b>
<p><dd>Epreuves : <select name='epreuves'><option>
<?php
$db=mysql_connect("127.0.0.1", "root","") or die ("prob de connexion avec le serveur");
mysql_select_db("groupe1_p13_cecdrl",$db) or die ("prob de connexion avec le serveur");

$MonSql= "SELECT NumEpreuve,NomEpreuve,DateEpreuve FROM EPREUVE WHERE DateLimiteInscription>=curdate()";
$MonRésultat = mysql_query($MonSql);
while ($Uneligne=mysql_fetch_array($MonRésultat))
{
$NumEpreuve=$Uneligne['NumEpreuve'];
$NomEpreuve=$Uneligne['NomEpreuve'];
echo "<option value=\"$NumEpreuve, $NomEpreuve\">$NumEpreuve $NomEpreuve</option>";
}
?>

</option>
</select>
</dd>
</p>
</font>
</i>
</td>
</tr>
<tr>
<td align="center">
<input type="submit" name="Envoipréinscription" value="Valider la préinscription" />
</td>
</tr>
</table>
</form>
</body>
</html>

script ConfirmationInscription.php

<?php
// Récupération des valeurs du formulaire
$MonNomAdherent=$_POST["NomAdherent"];
$MonPrenomAdherent=$_POST["PrenomAdherent"];
$MonNumLicenceAdherent=$_POST["LicenceAdherent"];
$MonNumEpreuve=$_POST["epreuves"];

// Connexion au serveur MySQL
$db=mysql_connect("127.0.0.1","root","")or die("Erreur de connexion au serveur");

// Connexion à la base de données VIF
mysql_select_db("groupe1_p13_cecdrl",$db)or die ("Erreur de connexion à la base cecedrl");

//Requête deMAJ de la table INSCRIRE
$MonSql= "INSERT INTO inscrire VALUES ('$MonNumEpreuve', '$MonNumLicenceAdherent')";

// Exécution de la requête
$MonResultat=mysql_query($MonSql)or die ("Erreur d'exécution de la requête");

// Ouverture d'une session
Session_start();
// Chargement des variables de session NomAdherentSession, PrenomAdherentSession et LicenceAdherentSession
$_SESSION["NomAdherentSession"]=$MonNomAdherent;
$_SESSION["PrenomAdherentSession"]=$MonPrenomAdherent;
$_SESSION["LicenceAdherentSession"]=$MonNumLicenceAdherent;
// Creation de la variable de session epreuvesSession
$_SESSION["epreuvesSession"]=$MonNumEpreuve;
?>
<html>
<head>
<title>Confirmation de préinscription</title>
</head>
<body>

Merci d'avance de votre aide

4 réponses

Bonsoir,
Lorsque ta page est ouverte dans le navigateur, affiche le code source (clic droit >> "Afficher la source") produit par PHP concernant ta liste déroulante HTML, à mon avis elle n'est pas comme celle attendue...

elle m'affiche mon NumEpreuve et tout de suite après mon NomEpreuve, il y a rien qui sépare les deux champs. Mais sinon j'ai mi les script concerner au dessus
Tu aurais dû faire un Copier/Coller du code source de la liste déroulante que tu as sous les yeux pour le joindre dans ta réponse ça évite de parler dans le vide...
roman"><i><b>Séléctionnez l'épreuve à laquelle vous souhaitez vous inscrire :</b>
<p><dd>Epreuves : <select name="epreuves"> <option value = ""
<option value="4, Challenge Regional">4 Challenge Regional</option>
>
</option>
</select>

voici le code source de la liste déroulante

<td align="left"><font size="3"color=#6F4242 face = "times new roman"><i><b>Séléctionnez l'épreuve à laquelle vous souhaitez vous inscrire :</b>
<p><dd>Epreuves : <select name="epreuves"> <option value = ""
<option value="4, Challenge Regional">4 Challenge Regional</option>
>
</option>
</select>

voci le code source de la liste déroulante
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
889
<dd>Epreuves : <select name='epreuves'><!-- la tu avait <option> en trop -->
<?php
$db=mysql_connect("127.0.0.1", "root","") or die ("prob de connexion avec le serveur");
mysql_select_db("groupe1_p13_cecdrl",$db) or die ("prob de connexion avec le serveur");

$MonSql= "SELECT NumEpreuve,NomEpreuve,DateEpreuve FROM EPREUVE WHERE DateLimiteInscription>=curdate()";
$MonRésultat = mysql_query($MonSql);
while ($Uneligne=mysql_fetch_array($MonRésultat))
{
$NumEpreuve=$Uneligne['NumEpreuve'];
$NomEpreuve=$Uneligne['NomEpreuve'];
//la tu dois choisir d'enregistrer soit le numepreuve soit le nomEpreuve
//donc soit:
echo "<option value=\"$NomEpreuve\">$NumEpreuve $NomEpreuve</option>";
  ///  ou 
echo "<option value=\"$NumEpreuve\">$NumEpreuve $NomEpreuve</option>";
}
?>

</option>
</select>