encore un ptit probleme tout bidon

Eléphant du PHP | 86 Messages

20 avr. 2006, 11:05

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);
Comme dit le proverbe chinois:"Si tu parles a tes chaussons.....C'est que tu es le Roi des C..." :D

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 avr. 2006, 11:25

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 ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

timide
Invité n'ayant pas de compte PHPfrance

20 avr. 2006, 11:39

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')

Avatar du membre
ViPHP
ViPHP | 3008 Messages

20 avr. 2006, 11:44

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.

Eléphant du PHP | 86 Messages

20 avr. 2006, 12:11

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.
Comme dit le proverbe chinois:"Si tu parles a tes chaussons.....C'est que tu es le Roi des C..." :D

Eléphant du PHP | 451 Messages

20 avr. 2006, 12:55

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 ?
Jpaul
J'essaye d'aider : parfois je fais des erreurs, on me les corrige et j'apprends un peu plus. Super ce forum :)

Eléphant du PHP | 86 Messages

20 avr. 2006, 13:21

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. :(
Comme dit le proverbe chinois:"Si tu parles a tes chaussons.....C'est que tu es le Roi des C..." :D

Eléphant du PHP | 86 Messages

20 avr. 2006, 13:55

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
Comme dit le proverbe chinois:"Si tu parles a tes chaussons.....C'est que tu es le Roi des C..." :D

Eléphant du PHP | 86 Messages

20 avr. 2006, 14:02

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
Comme dit le proverbe chinois:"Si tu parles a tes chaussons.....C'est que tu es le Roi des C..." :D

Eléphant du PHP | 353 Messages

20 avr. 2006, 14:07

donne nous toute ta requete maintenant ! merci ;)

Eléphant du PHP | 451 Messages

20 avr. 2006, 14:11

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...
Jpaul
J'essaye d'aider : parfois je fais des erreurs, on me les corrige et j'apprends un peu plus. Super ce forum :)

Eléphant du PHP | 353 Messages

20 avr. 2006, 14:19

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 ;)

++

Eléphant du PHP | 86 Messages

20 avr. 2006, 14:21

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
Comme dit le proverbe chinois:"Si tu parles a tes chaussons.....C'est que tu es le Roi des C..." :D