Erreur mysql... Mais qu'est ce qui cloche ????? - PHP - Programmation
Marsh Posté le 31-05-2005 à 23:55:58
Citation : Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource |
Ta requete SQL n'est pas valide du coup $resultat n'est pas une variable valide pour mysql_fetch_row
'SELECT count(mail) FROM newsletter WHERE mail="'.$mail.'"' devrait meiux se comporter
Citation : Warning: Cannot modify header information - headers already sent |
Tu utilises la fonction header et l'en tete du document a deja ete envoyé soit explicitement par un autre header soit implicitement par un echo ou un print.
Marsh Posté le 01-06-2005 à 12:46:22
Alors j'ai fait ce que tu m'a dit, c'est à dire :
Code :
|
Mais une erreur est renvoyé :
Code :
|
Je ne comprens pas l'interet de tant d'apostrophes et du point devant $mail.
Alors je l'ai un peu changé pour essayer d'enlever l'erreur :
Code :
|
Mais cette fois on en revient au même problème avec la même erreur du départ :
Code :
|
Pour ce qui est de la seconde erreur, j'ai vu sur un site que on pouvait la virer en mettant un @devant. Ca marche mais je pense que ca "masque" l'erreur mais ca ne la resou pas... je me trompe ?
Rastafarie
Marsh Posté le 01-06-2005 à 13:03:36
Code :
|
Tu as mis des quotes en trop et d'autres mal placées...
Code :
|
Pour ce qui est du @ ça ne resoud pas ton problème en effet ...
Le . sert à concatener des chaines
Marsh Posté le 01-06-2005 à 19:00:20
J'ai mis exactement ce que tu m'a dit de mettre, c'est à dire :
Code :
|
Mais toujours le même message d'erreur :
Code :
|
J'avou de pas du tout savoir quoi faire alors de l'aide serait le bienvenue. J'ai fait des recherches sur cette erreur mais j'ai lu qu'elle pouvait dire beaucoup de choses... ?!
Rastafarie
Marsh Posté le 01-06-2005 à 19:39:31
hmm dans ta variable $mail, t as despecialisé tout les caracteres tendancieux ?
Conseil : met ta requete dans une variable $query, et affiche la. Tu peux avoir des surprises, crois moi.
Sinon le warning d'apres c'est normal, car la premiere erreur envoie un message d'erreur ... et ca ecrit dans ta page du coup.
Ben
Marsh Posté le 02-06-2005 à 09:47:57
Je suis pas trop sur d'avoir compris ce que t'a dis. Du coup j'ai tout viré dans la page et j'ai mis ça :
Code :
|
Bon point : Plus de message d'erreur
Mauvais point : Rien d'autre ne s'affiche... c'est tout blanc
Je rappele que c'est une newsletter que je fais. Et l'objectif c'est de regarder dans la BDD si le mail entré dans le formulaire est déja présent ou pas...
Donc si d'autres solutions existent je suis partant... Mais j'aimerais bien savoir qu'est ce qui cloche dans ce script quand même
Rastafarie
Marsh Posté le 02-06-2005 à 10:00:01
C'est pas echo"$query" qu'il faut faire, c'est:
$query = "SELECT count(mail) FROM newsletter WHERE mail='".$mail."'";
puis
echo $query;
puis
mysql_query($query);
Marsh Posté le 02-06-2005 à 10:13:58
Ce qui donne en tout :
Code :
|
He bien figure toi que ca affiche toujours rien... Ca sert à quoi au juste mysql_query ?
Et puis dans mon script tout en haut, celui du départ, vous voyez rien qui cloche ?
Et si je devrais ajouter ce que je viens décrire dans le script final (du haut)... ou devrais-je le mettre ?
Rastafarie
Marsh Posté le 02-06-2005 à 10:16:21
mysql_query c'est pour executer la requete.
Remplace echo "$query" par echo $query;
Marsh Posté le 02-06-2005 à 14:53:30
Ca change rien... toujours rien ne s'affiche. J'espere ne pas devoir finir par devoir prendre un script tout pret tout beau... mais fait par un autre
Rastafarie
Marsh Posté le 02-06-2005 à 15:08:21
Et dans le script du départ tu vois rien qui merde ?
Rastafarie
Marsh Posté le 02-06-2005 à 15:10:45
Bah non,
bon alors mets un echo "test";
au tout début pour voir si il s'affiche ou pas
Marsh Posté le 02-06-2005 à 15:14:40
Code :
|
Ecrit ça et si ça marche pas ou que tu as une erreur ben ça veut dire que c'est ta requête qui est mauvaise
Marsh Posté le 02-06-2005 à 15:15:51
Bon alors jje me suis dit que ca pourrait m'aider à m'aider (hehe la phrase).
Parralelement a la newslette, je fais un systeme de sondage (en fait je commence)
Ca donne ca :
Code :
|
Et l'erreur mysql renvoyé est toujours la meme :
Code :
|
Marsh Posté le 02-06-2005 à 15:15:59
Destampy a écrit :
Ecrit ça et si ça marche pas ou que tu as une erreur ben ça veut dire que c'est ta requête qui est mauvaise |
justement il a dis que ca marchait pas
Marsh Posté le 02-06-2005 à 15:19:00
Destampy, je viens d'eesayer ce que tu m'a dit et ca m'écrit :
Code :
|
Normal que mail='' ne soit pas rempli puisque j'ai appelé la page directement et j'ai pas rempli le formulaire... enfin je pense
Marsh Posté le 02-06-2005 à 15:21:03
Rastafarie a écrit : Destampy, je viens d'eesayer ce que tu m'a dit et ca m'écrit :
|
Bah oui mais essaye avec le formulaire
Marsh Posté le 02-06-2005 à 15:31:59
alors mon formulaire renvoi vers newsletter.php :
Code :
|
Et dans newsletter.php... j'ai maintenant tout ça :
Code :
|
et ca me renvoi :
Code :
|
Marsh Posté le 02-06-2005 à 15:33:07
Rastafarie a écrit : alors mon formulaire renvoi vers newsletter.php :
|
Oui bah c'est pas bon....
Code :
|
ca c'est bon
Marsh Posté le 02-06-2005 à 15:37:06
T'es assis sur ta t^te ou pas?? .Pour pouvoir effectuer ta requête tu es obligé de récupérer le mail avant de la faire sinon c'est sûr que ça marche po
Marsh Posté le 02-06-2005 à 15:37:15
Code :
|
Ouaiiiiiiiiiiss
Je vais tester maintenant le script entier et je vous tiens au courant... merci
Rastafarie
Marsh Posté le 02-06-2005 à 15:39:04
Par contre un truc que j'ai toujours pas compris :
Code :
|
Pourquoi tant d'apostrophes ? Et un point AVANT et APRES mail ?
Rastafarie
Marsh Posté le 02-06-2005 à 15:39:36
Rastafarie a écrit : Par contre un truc que j'ai toujours pas compris :
|
Parce que tu concaténe avec le contenu de la variable
Marsh Posté le 03-06-2005 à 17:24:07
Arf... de problèmes en problèmes !
J'ai continué un peu le script ne la newsletter, cette fois il n'y a pas de message d'erreur :
Code :
|
Mais par contre quand je rentre un email qui est déja dans la bdd, ca me le rerentre quand meme !
Rastafarie
Marsh Posté le 03-06-2005 à 17:33:56
Faudrait peut être parcourir le résultat de la requête, non?
Marsh Posté le 03-06-2005 à 17:36:28
Bah tu fais un select count(mail)....
après il faut regarder la valeur du count peut être, non tu es pas d'accord?
Marsh Posté le 03-06-2005 à 17:38:28
Ben si tu le dis je vais essayer d'être d'accors avec toi
Et commment je fais pr regarder cette valeur ? (dsl je débute hein )
Rastafarie
Marsh Posté le 03-06-2005 à 17:40:00
Tu as tout ici : http://www.nexen.net/docs/php/annotee/mysql.intro.php
Marsh Posté le 03-06-2005 à 17:48:31
Bon alors je sais pas si c'est ok ce que je viens de faire...
Code :
|
en tout cas ca ramène cet erreur :
Code :
|
Ca vient donc de la ligne que j'ai ajouté...
Marsh Posté le 03-06-2005 à 17:54:33
Pourtant tout le code que j'ai est là ! Ya rien d'autre... en quoi et pourquoi ne pourrait t'elle pas s'executer ?
Rastafarie
Marsh Posté le 03-06-2005 à 17:55:18
Une fonction extrêmement utile, à mettre entre toutes les mains: "mysql_error()"
mets une ligne
Code :
|
juste après ta requête sur ta base de données, tout deviendra plus clair.
Marsh Posté le 03-06-2005 à 18:00:28
Ben ca m'écrit une ligne en plus quand je met ça :
Code :
|
Rastafarie
Marsh Posté le 31-05-2005 à 23:41:23
Salut all,
Je suis en train de coder une newsletter, mais des erreurs mysql sont renvoyés, je vous laisse juger :
Et voici les erreurs renvoyés :
Message édité par Rastafarie le 31-05-2005 à 23:43:23