probleme de requete

Eléphant du PHP | 86 Messages

13 avr. 2006, 11:48

voila je desire selectionner des données, concernant des participants a un championnat, dans ma base et ce la me ressort une erreur de syntaxe que je ne voie pas. :evil:

Pourriez vous m'aider svp. Merci d'avance. :D
$requete='SELECT * FROM participant WHERE as="'.$ass.'" AND academie="'.$acad.'" AND genre="'.$genre.'"';

PLEAAASSSSEE HEEEELLLLLPPPPP :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

13 avr. 2006, 11:54

Ton erreur vient du fait qu'en sql, les chaines de caractères sont délimités par des apostrophes et non pas par des guillemets. Tu peux sois inverser tes guillemets et tes apostrophes (ce qui sera je pense le plus lisible) soit mettre un antislash (caractère d'échappement) devant pour que php sache qu'il s'agit du caractère apostrophe et pas "fin de chaine" :
$requete="SELECT * FROM participant WHERE as='".$ass."' AND academie='".$acad."' AND genre='".$genre."'";  

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 avr. 2006, 11:55

Peux tu faire echo $requete et copier-coller la requête (avec les variables remplacées par leurs valeurs) que tu obtiens dans IE ou Firefox ?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

13 avr. 2006, 12:41

voila je desire selectionner des données, concernant des participants a un championnat, dans ma base et ce la me ressort une erreur de syntaxe que je ne voie pas. :evil:

Pourriez vous m'aider svp. Merci d'avance. :D
$requete='SELECT * FROM participant WHERE as="'.$ass.'" AND academie="'.$acad.'" AND genre="'.$genre.'"';

PLEAAASSSSEE HEEEELLLLLPPPPP :)
L'erreur est simple : le champ nommé "as" pose problème car le mot "as" est un mot-clé réservé par SQL utilisé pour créer un alias (surnom de champ ou de table)

Pour corriger l'erreur il faut délimiter le nom "as" de ton champs entre `` (anti-quotes = ALT-Gr+`+Espace)

Correction :
$requete='SELECT * FROM participant WHERE `as`="'.$ass.'" AND academie="'.$acad.'" AND genre="'.$genre.'"';
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphant du PHP | 86 Messages

13 avr. 2006, 14:27

Mer ci bcp salek. Ca y est ca marche. Si j'ai un autre probleme je sais a qui m'adresser. Encore merci car je suis en plein stage :lol:

Eléphant du PHP | 86 Messages

13 avr. 2006, 14:37

voila je suis deja de retour :?
Que signifie cette erreur svp :

Column count doesn't match value count at row 1

Merci d'avance pour votre réponse

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 avr. 2006, 14:55

Column count doesn't match value count at row 1
Le nombre de colonnes ne correspond pas au nombre de valeurs.

(Requête d'insertion ?)
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphant du PHP | 86 Messages

13 avr. 2006, 15:08

oui c une requete d'insertion mais je comprend pas elle marchait nickel ya meme pas une heure. Jsuis sur le cul. Voila mon code au cas ou :

d'abord mon tableau :
echo'<tr>';
                                           echo'<td class="tdconfirm"><center>N°</center></td>';
                                           echo'<td class="td2confirm"><center>Nom</center></td>';
                                           echo'<td class="td2confirm"><center>Prénom</center></td>';
                                           echo'<td class="td2confirm"><center>License FFSU</center></td>';
                                           echo'<td class="td2confirm"><center>Club Civil/Niveau</center></td>';
                                           echo'<td class="td3confirm"><center>Taille</center></td>';
                                        echo'</tr>';
                                        echo'<form action="confirmation.php" method="POST">';
                                        while($i<=$nb)
                                        {
                                                echo'<tr>';
                                                    echo'<td><center><input name="num'.$i.'" type="text" value="" size="1"></center></td>';
                                                    echo'<td><center><input name="nom'.$i.'" type="text" value=""></center></td>';
                                                    echo'<td><center><input name="prenom'.$i.'" type="text" value=""  size="15"></center></td>';
                                                    echo'<td><center><input name="license'.$i.'" type="text" value=""  size="15"></center></td>';
                                                    echo'<td><center><input name="civil'.$i.'" type="text" value=""></center></td>';
                                                    echo'<td><center><input name="taille'.$i.'" type="text" value="" size="2"></center></td>';
                                                echo'</tr>';
                                                $i++;
                                        }
et enfin ma requete:
while($i<=$nb)
                                   {
                                           $num=$_POST['num'.$i.''];
                                           $nom=$_POST['nom'.$i.''];
                                           $prenom=$_POST['prenom'.$i.''];
                                           $license=$_POST['license'.$i.''];
                                           $civil=$_POST['civil'.$i.''];
                                           $taille=$_POST['taille'.$i.''];

                                        $requete2='INSERT INTO participant VALUES("","'.$num.'","'.$nom.'","'.$prenom.'","'.$license.'","'.$civil.'","'.$taille.'","'.$ass.'","'.$academie.'")';
                                        mysql_query($requete2) or die(mysql_error());
                                        $i++;
                                   }
Merci d'avance pour le coup de main :lol:

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 avr. 2006, 15:14

Ta requête ne spécifie pas le nom des champs avant le mot clef VALUES
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphant du PHP | 86 Messages

13 avr. 2006, 15:22

je n'ai jamais eu besoins de le faire jusqu'a present. C bizarre quand même :shock:

Eléphant du PHP | 86 Messages

13 avr. 2006, 15:23

c bon je vien de trouver mecci quand meme pour ton aide