Vous n'êtes pas connecté - 0 membre connecté
Catégories
Graphisme
Flash (48)
Print (64)
Programmation
PHP (63)
Base de données (17)
ASP (2)
CSS (23)
Hardware
PC (34)
Mac (14)
Linux (5)
Divers
Blabla (240)
874 Sujets
11835 Réponses
Programmation > Base de données > [php&bdd] erreur d' une req...
[php&bdd] erreur d' une requête
 Bonjour,
(Je suis le nouveau venu et comme sur chaque forum il y a des balises differentes, je sais pas ici quelle balise correspond à celle du code. Je m' excuse)

Je suis un etudiant. Je sui chargé de faire la base des données pour la jestion des notes de l' institut ou je fais mes etudes.

J' ai le probleme dans la partie suivante du code:


IF(isset($_POST['Supprimer_Etudiant'])) {   $query='DELETE FROM Etudiant WHERE ID='. $_GET['ID_Etudiant'];     IF (($result = mysql_query($query)) == 0) { echo mysql_error() . $query; } }  



Quand j' essaye de supprimer un nom d' étudiant l' erreur sql s' affiche sur l' ecrane:

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 '' at line 1DELETE FROM Etudiant WHERE ID=

Je copie la même requête dans le terminal et je la lance en ajoutant la valeure quelconque(Par exemple ID=13) et là ça marche bien. Peut-être je n' arrive à recouperer le variable:
$_GET['ID_Etudiant']


Mais quand je teste avec

IF (isset($_GET['ID_Etudiant'])) {   echo $_GET['ID_Etudiant']; }  



$_GET['ID_Etudiant'] 
s' affiche sur l' ecran.
Aidez moi s' il vous plait à trouver la faute.
Voici mon code (voir plus bas la partie concernée):

 
<?php
require_once '../connectIFG.php';
?>
 
 
 
<?php
 
echo '<h1 align=center>Ajouter un etudiant</h1>
<form name=form_etudiant method=POST action="./Ajouter_Etudiant.php">
 
<table border=1 align=center>
 
<TR>
<TD>
<label> Prenom </label> 
</TD>
<TD>
<input type="text" name="Etudiant_Prenom"><BR>
</TD>
</TR>
 
<TR>
<TD>
<label> Nom </label> 
</TD>
<TD>
<input type="text" name="Etudiant_Nom"><BR>
</TD>
</TR>
 
<TR>
<TD>
<label> Adresse </label> 
</TD>
<TD>
<input type="text" name="Adresse"><BR>
</TD>
</TR>
 
<TR>
<TD>
<label> Date_Naissence </label> 
</TD>
<TD>
<input type="text" name="Date_Naissance"><BR>
</TD>
</TR>
 
<TR>
<TD>
<input type="submit" name=Valider_Etudiant value="valider">'
;
 
IF (isset(
$_GET['ID_Etudiant'])) { 
echo 
'<input type=submit name="Supprimer_Etudiant" value="supprimer"/>
'
;
}
 
echo 
'
</TD>
</TR>
</TABLE>
</form>
'
;
 
 
 
IF (isset(
$_GET['ID_Etudiant'])){   //ICI JE TESTE SI JE RECOUPERE  LE VARIABLE    $_GET['ID_Etudiant']  
 
echo $_GET['ID_Etudiant'];}
 
    IF (isset(
$_POST['Valider_Etudiant'])) { 
 echo 
$_POST[""]; 
      
       
$query='INSERT INTO Etudiant
         (ID,Prenom,Nom,Addresse,Date_Naissence)   
         VALUES ("",
                    "' 
$_POST["Etudiant_Prenom"] . '",
                    "' 
$_POST["Etudiant_Nom"] . '",
                    "' 
$_POST["Adresse"] . '",
                    "' 
$_POST["Date_Naissance"] . '"
                    )'
;
 
 
      IF ((
$result mysql_query($query)) == 0) {
    echo 
mysql_error($query);
      } 
   }
 
 
     
      IF(isset(
$_POST['Supprimer_Etudiant'])) {   // CETTE PARTIE DU CODE QUI NE MARCHE PAS
 
$query='DELETE FROM Etudiant WHERE ID='$_GET['ID_Etudiant'];
 
 
IF ((
$result mysql_query($query)) == 0) {
    echo 
mysql_error() . $query;
      }
}
 
 
 
  
$query='select * from Etudiant GROUP BY Nom';
 
 IF ((
$result mysql_query($query)) == 0) {
    echo 
mysql_error() . $query;
  } 
 
 
    else{
        
echo
'
<table border=1 align=center>
<TR>
<TH> Prenom</TH>
<TH>Nom</TH>
<TH>Adresse</TH>
<TH>Date_Naissance</TH>
</TR>'
;
while (
$row=mysql_fetch_array($result)){
echo 
'
<TR>
<TD>'
.$row['Prenom'].'
</TD>
<TD>
<a href="./Ajouter_Etudiant.php?ID_Etudiant='
.$row['ID']. '">'.$row['Nom'].'</a>
</TD>
<TD>'
.$row['Addresse'].'
</TD>
<TD>'
.$row['Date_Naissence'].'
</TD>
</TR>
'
;
}
echo 
'</table>';
}
 
?> 
je vous remercie d' avance.
Posté le 09 05 2007 à 13h02
otar - Membre

Réponses - [php&bdd] erreur d' une req...
trop bon trop con, je viens de mettre en syntaxe ton post, je sais que c'est dur de retenir plusieurs syntaxe mais il y a bien caché sur le site une FAQ avec les options de mise en page.

Bon courage pour ton truc en tout cas
Posté le 09 05 2007 à 13h22
Narno - Modérateur - www
ok,

euh...
action="./Ajout er_Etudiant.php?ID_Etudiant =XX
Car tu recharge ta page donc ton $_GET[''] sera vide

ps : sauf erreur de ma part c'est un trou de sécurité ton truc de passer l'ID j'espère qu'avant de supprimer tu test l'existance d'un session ou d'un cookie avec un mot de passe en md5().

Bon courage
Posté le 09 05 2007 à 13h49
psykoyo - Membre
Je te remercie beaucoup.
Ton conseil a bien rémédié à mon programme. Maintenent c'est une autre question qui s' impose mais je sais pas te la poser ou non.
Il s' agit du code pareil où il faut verifier trois ou quatre lignes.
Si tu est d' accord, je te la poserai.
Posté le 09 05 2007 à 14h34
otar - Membre
bonjour et bienvenue,

si tu as une autre question sur ce même bout de code continue ce sujet, si ton problème n'as rien à voir crée un nouveau sujet ça permet d'optimiser les recherches par là suite.

Si tu crée un nouveau sujet, regarde dans la FAQ pour la mise en forme de ton code etc...

tu dispose également d'une balise [ code ] qui n'est pas listée mais maintenant tu sais :)
Posté le 09 05 2007 à 18h51
Neoblue - Modérateur - www
 Bonjour,
quand je suis l' idée de psykoyo (voir audessus) pas de problemes avec la suppression. Au revanche les autres problemes qui n' existaient pas avant surgissent maintenent.
Quand je fais l' insertion le message suivant d' erreur sql s' affiche:

[B]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 '' at line 1SELECT * FROM Etudiant WHERE ID=Supprimer l etudiant N [/B]

ce qui ne doit pas s afficher car cette requete qui est incluse bans le message d' erreur SQL est ecrite dans le bloc de [B]if [/B]

 if (isset($_GET['ID_Etudiant'])) {    

           echo $_GET['ID_Etudiant'];
           $query='SELECT * FROM Etudiant WHERE ID='.$_GET['ID_Etudiant'];

     if (($result = mysql_query($query)) == 0) {
      echo mysql_error() . $query;
      } 

$row=mysql_fetch_array($result);
echo 'Supprimer l etudiant N '.$_GET['ID_Etudiant'].' '.$row[Prenom] ;

}   



le variable $_GET['ID_Etudiant'] , dont la valeure est ID d' etudiant se crée lors du clique sur le lien (qui correspond au nom d' étudiant ).
Comme le lien n' étant pas encore touché $_GET['ID_Etudiant'] ne doit pas encore exister et donc le message d' erreur dejà cité ne doit pas etre affiché.

Apres avoir cliquer sur le lien et puis sur le bouton "supprimer " la ligne contenante ce lien supprime et après tout marche bien. Meme apres l' insertion aucune message d' erreur
ne s' affiche plus. Ne pouviez vous pas me dir de quoi s' agit-il?
Merci pour l' attention.
Voici mon code qui est un peu changé (l' erreur doit etre jusqu' au premier commentaire):



<?php
require_once '../connectIFG.php';
?>

<?php


   
if (isset($_POST['Valider_Etudiant'])) { 
 
      
       
$query='INSERT INTO Etudiant
         (ID,Prenom,Nom,Addresse,Date_Naissence)   
         VALUES ("",
                    "' 
$_POST["Etudiant_Prenom"] . '",
                    "' 
$_POST["Etudiant_Nom"] . '",
                    "' 
$_POST["Adresse"] . '",
                    "' 
$_POST["Date_Naissance"] . '"
                    )'
;
 

      if ((
$result mysql_query($query)) == 0) {
    echo 
mysql_error($query);
      } 
   }

echo 
$_GET['ID_Etudiant'];

  if (isset(
$_GET['ID_Etudiant'])) {    

           echo 
$_GET['ID_Etudiant'];
           
$query='SELECT * FROM Etudiant WHERE ID='.$_GET['ID_Etudiant'];

     if ((
$result mysql_query($query)) == 0) {
      echo 
mysql_error() . $query;
      } 

$row=mysql_fetch_array($result);
echo 
'Supprimer l etudiant N '.$_GET['ID_Etudiant'].' '.$row[Prenom] ;

}   
     
      if(isset(
$_POST['Supprimer_Etudiant'])) {   

 
$query='SELECT * FROM Etudiant WHERE ID='.$_GET['ID_Etudiant'];

if ((
$result mysql_query($query)) == 0) {
    echo 
mysql_error() . $query;
      }

 
$row=mysql_fetch_array($result);
 echo 
' L etudiant N '.$row['ID'].' '.$row[Prenom].' '.$row['Nom'].'
 '
.'a ete  supprime' ;

$query='DELETE FROM Etudiant WHERE ID='$_GET['ID_Etudiant']; 


if ((
$result mysql_query($query)) == 0) {
    echo 
mysql_error() . $query;
      }
}

echo 
'<h1 align=center>Ajouter un etudiant</h1>
<form name=form_etudiant method=POST action="./Etudiant_Ajouter.php?ID_Etudiant='
.$_GET['ID_Etudiant'].' ">
//  L '    
E   R   R  E  U  R          D   O  I   T          Ê     T   R    E             D   A   N   S            L   A            P     A    R   T    I   E             D  U     C   O  D   E         J   U   S   Q    U    E      I   C   I
<table border=1 align=center>

<
TR>
<
TD>
<
labelPrenom </label
</
TD>
<
TD>
<
input type="text" name="Etudiant_Prenom"><BR>
</
TD>
</
TR>

<
TR>
<
TD>
<
labelNom </label
</
TD>
<
TD>
<
input type="text" name="Etudiant_Nom"><BR>
</
TD>
</
TR>

<
TR>
<
TD>
<
labelAdresse </label
</
TD>
<
TD>
<
input type="text" name="Adresse"><BR>
</
TD>
</
TR>

<
TR>
<
TD>
<
labelDate_Naissence </label
</
TD>
<
TD>
<
input type="text" name="Date_Naissance"><BR>
</
TD>
</
TR>

<
TR>
<
TD>
<
input type="submit" name=Valider_Etudiant value="valider">';

if (isset($_GET['
ID_Etudiant'])) { 
echo '
<input type=submit name="Supprimer_Etudiant" value="supprimer"/>
';
}

echo '
</TD>
</
TR>
</
TABLE>
</
form>
';







  $query='
select from Etudiant GROUP BY Nom';

 if (($result = mysql_query($query)) == 0) {
    echo mysql_error() . $query;
  } 


    else{
        
echo'
<table border=1 align=center>
<
TR>
<
THPrenom</TH>
<
TH>Nom</TH>
<
TH>Adresse</TH>
<
TH>Date_Naissance</TH>
</
TR>';
while ($row=mysql_fetch_array($result)){
echo '
<TR>
<
TD>'
.$row['
Prenom'].'
</TD>
<
TD>
<
a href="./Etudiant_Ajouter.php?ID_Etudiant='.$row['ID']. '">'.$row['Nom'].'</a>
</
TD>
<
TD>'
.$row['
Addresse'].'
</TD>
<
TD>'
.$row['
Date_Naissence'].'
</TD>
</
TR>
';
}
echo '
</table>';
}

?> 
   
  

Posté le 10 05 2007 à 11h21
otar - Membre
Sujets Base de données
<< 1 2 >>
auto incremente et (...)
Auteur : senkante
Posté le 03 04 2008 à 19h27
12 Réponses (Nouveau sujet)
Sujet visité 956 fois
requete sur le mois (...)
Auteur : o0o
Posté le 10 07 2008 à 16h16
4 Réponses (Nouveau sujet)
Sujet visité 200 fois
Chercher DB (...)
Auteur : benzor
Posté le 10 01 2008 à 11h44
4 Réponses (Nouveau sujet)
Sujet visité 635 fois
iso et bordel
Auteur : senkante
Posté le 14 12 2007 à 14h56
4 Réponses (Nouveau sujet)
Sujet visité 799 fois
URGENT HELP
Auteur : benzor
Posté le 16 11 2007 à 09h38
32 Réponses (Nouveau sujet)
Sujet visité 1459 fois
[résolu] (...)
Auteur : o0o
Posté le 15 08 2007 à 16h31
4 Réponses (Nouveau sujet)
Sujet visité 864 fois
world database
Auteur : senkante
Posté le 28 06 2007 à 22h21
9 Réponses (Nouveau sujet)
Sujet visité 1088 fois
[résolu] AND ?
Auteur : senkante
Posté le 11 06 2007 à 16h43
6 Réponses (Nouveau sujet)
Sujet visité 675 fois
Problème envoie (...)
Auteur : SKGZ
Posté le 13 10 2006 à 20h06
4 Réponses (Nouveau sujet)
Sujet visité 1093 fois
[php&bdd] erreur d' (...)
Auteur : otar
Posté le 09 05 2007 à 13h02
5 Réponses (Nouveau sujet)
Sujet visité 705 fois
<< 1 2 >>
Mentions légales   -   Crédits   -   Nous contacter   -   © Benzor 2006