Page 1 sur 1

encore un ptit probleme tout bidon

Posté : 20 avr. 2006, 11:05
par tinou
voila on me retourne en erreur :

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in c:\stage\easyphp1-8\www\nouveau site stage\inscription_ok.php on line 88


Je regarde mon code et je vois pas l'erreur, je suis sur qu'elle est toute bidon mais je suis dessus depuis trop longtemps et je vois plus rien. jsuis 8)

merci d'avance pour votre aide.

voila mon code :
 $requete="SELECT * FROM inscription_cfu WHERE as='".$_GET['ass']."' AND academie='".$_GET['acad']."'";
                                 //echo $requete;
                                 $res=mysql_query($requete);
                                 $vrai=mysql_fetch_assoc($res);

Re: encore un ptit probleme tout bidon

Posté : 20 avr. 2006, 11:25
par zeus
C'est surement que ta requête a échouée :-k

Prévoir le cas où la requete échoue permet d'éviter nombre de problème, dont celui dont tu es victime
 $requete="SELECT * FROM inscription_cfu WHERE as='".$_GET['ass']."' AND academie='".$_GET['acad']."'";
//echo $requete;
//le die(... permet d'arreter l'exécution de la page si la requete a échouée et affiche l'erreur mysql retournée
$res=mysql_query($requete) or die(mysql_error());
$vrai=mysql_fetch_assoc($res);
De plus, je vois que tu as essayé d'afficher ta requete, est-ce que tu as essayé de l'exécutée directement dans PHPmyAdmin ?

Posté : 20 avr. 2006, 11:39
par timide
Bonjour a tous

Ca doit etre une erreur de syntaxe soit au niveau des nom des champs de ta table( 'as' et 'academie') soit soit au niveau de ton formulaire ('ass' et 'acad')

Posté : 20 avr. 2006, 11:44
par charabia
Vérifies aussi si la cause n'est pas du fait que tu as utilisé un mot réservé "as". Changes le nom du champ pour voir ce que ça donne.

Posté : 20 avr. 2006, 12:11
par tinou
j ai out verifier et ca peut pas etre a cause de"as" car je l ai deja utiisé plein de fois auparavant et sa fonctionnait.

Posté : 20 avr. 2006, 12:55
par jpaul
Tu dis que tu as tout vérifié !
Tu as bien suivi le conseil de Zeus ?
Décommenter le
//echo $requete;
de ton code
pour faire un copier coller de la requête et l'exécuter dans phpMyAdmin ?

Qu'est ce que ça donne comme résultat ?

Posté : 20 avr. 2006, 13:21
par tinou
ca me dit qu'il y a une erreur de syntaxe or j ai tout verifié.

voila l'erreur : Erreur de syntaxe près de 'as='Asa' AND academie='Amiens' à la ligne 1.

Pourtant j ai pazs d'apostrophe devant as
$requete='SELECT * FROM inscription_cfu WHERE as=''.$_GET['ass'].'\' AND academie=\''.$_GET['acad'].'';
Pour as je suis ur je l ai deja utilisé plein de fois. Pas d erreur sur les accents je comprend pas. :(

Posté : 20 avr. 2006, 13:55
par tinou
voila jai testé une autre requete :
$requete="SELECT * FROM inscription cfu WHERE as='".$ass."' AND academie='".$acad."'";
voila le resultat :

Erreur de syntaxe près de 'as='Asa' AND academie='Amiens'' à la ligne 1

et coila avec ma premiere requete testé differement :
$requete='SELECT * FROM inscription_cfu WHERE as=\''.$ass.'\' AND academie=\''.$acad.'';
et voila le resultat :

Erreur de syntaxe près de 'as='Asa' AND academie='Amiens' à la ligne 1

PLEASE HELP

Posté : 20 avr. 2006, 14:02
par tinou
j ai changer dans ma table le champ as en ass

Code : Tout sélectionner

-- -- Structure de la table `inscription_cfu` -- DROP TABLE IF EXISTS `inscription_cfu`; CREATE TABLE IF NOT EXISTS `inscription_cfu` ( `idinscriptioncfu` int(11) NOT NULL auto_increment, `ass` varchar(50) NOT NULL default '', `academie` varchar(50) NOT NULL default '', `responsable` varchar(40) NOT NULL default '', `tel` varchar(15) NOT NULL default '', `genre` char(2) NOT NULL default '', PRIMARY KEY (`idinscriptioncfu`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=34 ; -- -- Contenu de la table `inscription_cfu` -- INSERT INTO `inscription_cfu` VALUES (2, 'Asa', 'Amiens', 'Mr LAforge', '1234567890', 'F'); INSERT INTO `inscription_cfu` VALUES (14, 'Asc', 'Rouen', 'Mr LAforet', '1234567890', 'F');
là il me met comme erreur :

Champ 'ass' inconnu dans where clause Pourtant il est bien dedans

Posté : 20 avr. 2006, 14:07
par Tictac
donne nous toute ta requete maintenant ! merci ;)

Posté : 20 avr. 2006, 14:11
par jpaul
Cahrabia t'as dit que as est un mot réservé.

Toi tu dis :
j ai out verifier et ca peut pas etre a cause de"as" car je l ai deja utiisé plein de fois auparavant et sa fonctionnait.
Erreur de syntaxe près de 'as='Asa' AND academie='Amiens'' à la ligne 1
Erreur de syntaxe près de 'as='Asa' AND academie='Amiens' à la ligne 1
A ta place, j'examinerais la piste du as = mot réservé...
Tu as bien un autre champ dans ta table pour remplacer le as par un autre nom de colonne. Tu soumets la requête avec phpMyAdmin et tu verras si c'est un problème de syntaxe ou de mot réservé.
Pour cela tu peux aussi simplifier ta requête tu supprime la clause and et tu teste une requête avec recherche sur as et une autre avec recherche sur academie, il y a de fortes chances pour que celle avec as plante.

De toutes façons tant que ça ne marchera pas (avec phpMyAdmin et que la requête ne sera pas OK) $res ne contiendra pas de résultat et mysql_fetch_assoc râlera...

Posté : 20 avr. 2006, 14:19
par Tictac
un conseil gratuit !!

Quand tu crée une table par exemple

TABLE admin

les champs tu les nommes => admin_nom ,admin_prenom ,...

plutot que nom simplement comme ça si tu avais as comme dans le cas présent , ca donnerait admin_as et donc aucun soucis !!

de plus quand tu relis tes requetes ensuite tu vois directement d'où vient le champ ;) utile quand tu fais des JOIN dans tes requetes ;)

++

Posté : 20 avr. 2006, 14:21
par tinou
merci pour votre aide j ai utiliser ma seconde requete mais j ai rajouté le _ qui manqué entre inscription et cfu et le tout était joué. Merci beaucoup pour votre patience :D :D :D :D