Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1414 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Probleme php/MySQL : "Warning mysql_num_rows()"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme php/MySQL : "Warning mysql_num_rows()"

n°1019697
cruzy
Posté le 21-03-2005 à 13:30:00  profilanswer
 

bonjour, j'ai un probleme avec ce code .php qui fait appel à du sql:
 

Code :
  1. <?
  2. // on recupere les données d'une anim flash  
  3. $pseudo= $_POST["pseudo"];
  4. $mdp = $_POST["mdp"];
  5. //on se connecte à la base de donnée
  6. $db = mysql_connect('sql.free.fr','monsite','monmotdepasse') or die ("erreur de connexion à monsite" );
  7. //on selectionne votre base
  8. mysql_select_db('nomdelabase',$db) or die ("erreur de connexion à la base de donnée" );
  9. // On selectionne quand le champs pseudo de labase correspond au pseudo entré dans le flash.
  10. $sql = "SELECT * FROM nomdelabase WHERE pseudo=$pseudo";
  11. // On execute la requête de selection  
  12. $res = mysql_query($sql); 
  13. // On compte le nombre de ligne des resultats  
  14. // 1 : si valide ; 0 : si aucun pseudo ne correspond  
  15. $exist = mysql_num_rows($res);
  16. // Si la variable $exist = 0 --> pseudo inexistant
  17. if(!$exist) {
  18.     // On affiche ce message d'erreur  
  19.     echo "pseudo inexistant";
  20. }
  21. // Sinon, si le pseudo est valide
  22. else {
  23. echo "pseudo existant";
  24. }
  25. //et on referme la connexion
  26. mysql_close();


 
lorsque je lance mon anim flash et rentre un pseudo (qu'il figure dans ma base ou non), je reçois tout le temps cette erreur :
 
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/8/8/monsite/monfichier.php3 on line 21
 
 
 
merci à ceux qui savent de m'eclairer sur mon probleme  :jap:  
 
Cruzy

mood
Publicité
Posté le 21-03-2005 à 13:30:00  profilanswer
 

n°1019712
ratibus
Posté le 21-03-2005 à 13:56:53  profilanswer
 

C'est ta requete qui ne marche pas (au niveau du mysql_query) ;)
 
Regarde du coté de mysql_error()

n°1019715
cruzy
Posté le 21-03-2005 à 14:01:21  profilanswer
 

mysql_error() me dit que c'est au niveau de la ligne 14 que ca va pas ($sql = "SELECT * FROM nomdelabase WHERE pseudo=$pseudo";  )
 
mais je ne vois pas mon erreur :-(


Message édité par cruzy le 21-03-2005 à 14:02:01
n°1019722
simogeo
j'ai jamais tué de chats, ...
Posté le 21-03-2005 à 14:07:02  profilanswer
 

($sql = "SELECT * FROM nomdelabase WHERE pseudo='$pseudo';";  )


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°1019723
simogeo
j'ai jamais tué de chats, ...
Posté le 21-03-2005 à 14:08:04  profilanswer
 

et d'ailleurs c'est pas nomdelabase  mais nomdelatable !!!


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°1019846
ratibus
Posté le 21-03-2005 à 15:46:27  profilanswer
 

cruzy a écrit :

mysql_error() me dit que c'est au niveau de la ligne 14 que ca va pas ($sql = "SELECT * FROM nomdelabase WHERE pseudo=$pseudo";  )
 
mais je ne vois pas mon erreur :-(


C'est quoi le message d'erreur complet ?

n°1019853
soju
One shot !
Posté le 21-03-2005 à 15:55:16  profilanswer
 

simogeo a écrit :

($sql = "SELECT * FROM nomdelabase WHERE pseudo='$pseudo';";  )

bien vu pour les quotes mais il y a un ; en trop  ;)  

n°1020590
simogeo
j'ai jamais tué de chats, ...
Posté le 22-03-2005 à 01:26:25  profilanswer
 

soju a écrit :

bien vu pour les quotes mais il y a un ; en trop  ;)


[:neo_xp]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°1020607
cruzy
Posté le 22-03-2005 à 07:38:24  profilanswer
 

c'est bon , j'ai trouvé mon erreur, ce n'etait pas une histoire de ";" mais j'avais un probleme de sendAndLoad dans mon animation flash, ce qui fait que ma variable $pseudo n'etait pas prise en compte
 
merci à tous quand meme :-)
 
Cruz

n°1021224
fnemo
Posté le 22-03-2005 à 16:42:03  profilanswer
 

Deja ce qui est propre est :
 

Code :
  1. $sql = "SELECT * FROM nomdelabase WHERE pseudo='".$pseudo."'";


 
enfin je dis ca, je dis rien :p

mood
Publicité
Posté le 22-03-2005 à 16:42:03  profilanswer
 

n°1021418
dwogsi
Défaillance cérébrale...
Posté le 22-03-2005 à 19:38:29  profilanswer
 

Tout à fait daccord avec toi fnemo sinon on risque de se retrouver avec des erreur au niveau des nom de varaible. Peut être pas dans ce cas mais ca pourrait bien arriver.
 

soju a écrit :

bien vu pour les quotes mais il y a un ; en trop  ;)


Une requête en SQL "conforme" doit se terminer par un ;
Il n'est pas indispensable sur MySQL mais ne géne en rien l'exécution normale de la requête.


Message édité par dwogsi le 22-03-2005 à 19:40:05

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1021421
FlorentG
Unité de Masse
Posté le 22-03-2005 à 19:47:46  profilanswer
 

fnemo a écrit :

Deja ce qui est propre est :
 

Code :
  1. $sql = "SELECT * FROM nomdelabase WHERE pseudo='".$pseudo."'";


 
enfin je dis ca, je dis rien :p


Et si je tape comme pseudo :

' OR 1=1 OR pseudo='


;)
La requête va donner un truc du genre :

SELECT * FROM nomdelabase WHERE pseudo='' OR 1=1 OR pseudo=''


Et comme il compte le nombre d'enregistrement, ça va marcher... Donc ne jamais oublier un petit addslashes($pseudo)

n°1021425
simogeo
j'ai jamais tué de chats, ...
Posté le 22-03-2005 à 19:56:49  profilanswer
 

ué enfin, ca sort du cadre là ...
ces tests doivent être fait précédemment [:clark_gaybeul]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Probleme php/MySQL : "Warning mysql_num_rows()"

 

Sujets relatifs
Probleme MySQL : "Warning mysql_num_rows()"[PHP MySQL] Accéder à une base distante
creer rang phpBB pose probleme (resolu)GDI+ graphisme probleme
MFC Problème d'affichage (OnPaint() et ON_WM_PAINT())problème de driver mysql
Plus de sujets relatifs à : Probleme php/MySQL : "Warning mysql_num_rows()"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR