Webmaster Hub: mysql_num_rows - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

mysql_num_rows bug de base? de deb Noter : -----

#1 L'utilisateur est hors-ligne   cot 

  • Groupe : Actif
  • Messages : 18
  • Inscrit(e) : 20-octobre 05
  • Genre:Homme
  • Localisation:la rochelle
  • Société:cotweb

Posté 08 février 2012 - 17:12

avant je faisais ça

$sql = "SELECT * FROM maillist WHERE email='$email'";
echo "<br>".$sql."<br>";
$resultat = mysql_query($sql, $connecte);
$nb_enr = mysql_num_rows($resultat);

maintenant ça bug
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

Il est ou le bug?
SVP!
0

#2 L'utilisateur est hors-ligne   Aenoa 

  • Groupe : Membre+
  • Messages : 285
  • Inscrit(e) : 28-octobre 10
  • Genre:Homme
  • Localisation:Tournai
  • Société:Je cherche...

Posté 08 février 2012 - 17:16

$connecte est il réussi comme connexion en BDD ?
Mon (très petit) site personnel

"Ce n'est pas parce que l'on ne sait pas, que l'on ne peut pas. L'on peut tout apprendre, avec de la motivation."
0

#3 L'utilisateur est hors-ligne   cot 

  • Groupe : Actif
  • Messages : 18
  • Inscrit(e) : 20-octobre 05
  • Genre:Homme
  • Localisation:la rochelle
  • Société:cotweb

Posté 08 février 2012 - 17:29

Voir le messageAenoa, le 08 février 2012 - 17:16, dit :

$connecte est il réussi comme connexion en BDD ?


yes !
0

#4 L'utilisateur est hors-ligne   Aenoa 

  • Groupe : Membre+
  • Messages : 285
  • Inscrit(e) : 28-octobre 10
  • Genre:Homme
  • Localisation:Tournai
  • Société:Je cherche...

Posté 08 février 2012 - 17:35

place un "echo mysql_error()" juste en dessous de chaque action mysql_query, connect, select_db et num_rows, cela t'affichera l'erreur de chaque action, si il y en a une
Mon (très petit) site personnel

"Ce n'est pas parce que l'on ne sait pas, que l'on ne peut pas. L'on peut tout apprendre, avec de la motivation."
0

#5 L'utilisateur est hors-ligne   cot 

  • Groupe : Actif
  • Messages : 18
  • Inscrit(e) : 20-octobre 05
  • Genre:Homme
  • Localisation:la rochelle
  • Société:cotweb

Posté 08 février 2012 - 17:38

Voir le messageAenoa, le 08 février 2012 - 17:35, dit :

place un "echo mysql_error()" juste en dessous de chaque action mysql_query, connect, select_db et num_rows, cela t'affichera l'erreur de chaque action, si il y en a une


j'ai pas utilisé select_db
0

#6 L'utilisateur est hors-ligne   Aenoa 

  • Groupe : Membre+
  • Messages : 285
  • Inscrit(e) : 28-octobre 10
  • Genre:Homme
  • Localisation:Tournai
  • Société:Je cherche...

Posté 08 février 2012 - 17:41

Voir le messagecot, le 08 février 2012 - 17:38, dit :

j'ai pas utilisé select_db


si tu n'a pas sélectionné de base de donnée, mysql peut paniquer. Soit, tu définis une base de donnée
mysql_select_db("MA_DB", $connecte);




soit tu peut l'intégrer directement dans le code SQL
$sql = "SELECT * FROM MA_DB.maillist WHERE email='$email'";



Mon (très petit) site personnel

"Ce n'est pas parce que l'on ne sait pas, que l'on ne peut pas. L'on peut tout apprendre, avec de la motivation."
0

#7 L'utilisateur est hors-ligne   cot 

  • Groupe : Actif
  • Messages : 18
  • Inscrit(e) : 20-octobre 05
  • Genre:Homme
  • Localisation:la rochelle
  • Société:cotweb

Posté 08 février 2012 - 17:49

C'est pour cela que je ne trouve pas d'interet à utiliser mysql_select_db
puisque la base est precisée dans la requette sql
$sql = "SELECT * FROM maillist WHERE email='$email'";
0

#8 L'utilisateur est hors-ligne   Aenoa 

  • Groupe : Membre+
  • Messages : 285
  • Inscrit(e) : 28-octobre 10
  • Genre:Homme
  • Localisation:Tournai
  • Société:Je cherche...

Posté 08 février 2012 - 17:50

Voir le messagecot, le 08 février 2012 - 17:49, dit :

C'est pour cela que je ne trouve pas d'interet à utiliser mysql_select_db
puisque la base est precisée dans la requette sql
$sql = "SELECT * FROM maillist WHERE email='$email'";


tu précise la table, mais pas la base de donnée :)

table = maillist
recherche = email équivalent a $email
base de donnée = inconnue
Mon (très petit) site personnel

"Ce n'est pas parce que l'on ne sait pas, que l'on ne peut pas. L'on peut tout apprendre, avec de la motivation."
0

#9 L'utilisateur est hors-ligne   cot 

  • Groupe : Actif
  • Messages : 18
  • Inscrit(e) : 20-octobre 05
  • Genre:Homme
  • Localisation:la rochelle
  • Société:cotweb

Posté 08 février 2012 - 17:53

au fait echo mysql_error($resultat); ça bug, je dois mal l'utiliser

Je crois que je me rapproche de mon erreur
0

#10 L'utilisateur est hors-ligne   Aenoa 

  • Groupe : Membre+
  • Messages : 285
  • Inscrit(e) : 28-octobre 10
  • Genre:Homme
  • Localisation:Tournai
  • Société:Je cherche...

Posté 08 février 2012 - 17:55

Voir le messagecot, le 08 février 2012 - 17:53, dit :

au fait echo mysql_error($resultat); ça bug, je dois mal l'utiliser

Je crois que je me rapproche de mon erreur


il ne faut pas indiquer $resultat dans les parenthèses.

Cette fonction ne prends aucun argument, elle retourne simplement la dernière erreur que MySQL a connu. d'où le fait que je te le fais mettre sous chaque fonction mysql_* ^^
Mon (très petit) site personnel

"Ce n'est pas parce que l'on ne sait pas, que l'on ne peut pas. L'on peut tout apprendre, avec de la motivation."
0

#11 L'utilisateur est en ligne   jcaron 

  • Groupe : Membre+
  • Messages : 864
  • Inscrit(e) : 15-janvier 08
  • Genre:Homme
  • Localisation:Londres

Posté 09 février 2012 - 04:29

Au passage, intégrer directement une variable dans une requête SQL sans passer par mysql_real_escape_string c'est une TRES, TRES, TRES mauvaise idée. Non seulement ça va planter si jamais il y a quelque chose qui ne va pas dans ta variable (par exemple un '), ce qui est peut-être le problème ici, mais en plus c'est un trou de sécurité énorme.

Jacques.
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)