Page 1 sur 1
mysql_num_rows bug de base? de deb
#1
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!
$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!
#2
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."
"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."
#4
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."
"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."
#6
Posté 08 février 2012 - 17:41
cot, 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."
"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."
#8
Posté 08 février 2012 - 17:50
cot, 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'";
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."
"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."
#10
Posté 08 février 2012 - 17:55
cot, 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
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."
"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."
#11
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.
Jacques.
- ← Mysql - Ajouter une chaîne de caractère contenant &
- PHP
- Créer facilement un Sélecteur de Lieu dynamique et complet →
Partager ce sujet :
Page 1 sur 1



Haut











