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