cot Posté 8 Février 2012 Partager Posté 8 Février 2012 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! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Aenoa Posté 8 Février 2012 Partager Posté 8 Février 2012 $connecte est il réussi comme connexion en BDD ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
cot Posté 8 Février 2012 Auteur Partager Posté 8 Février 2012 $connecte est il réussi comme connexion en BDD ? yes ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Aenoa Posté 8 Février 2012 Partager Posté 8 Février 2012 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
cot Posté 8 Février 2012 Auteur Partager Posté 8 Février 2012 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Aenoa Posté 8 Février 2012 Partager Posté 8 Février 2012 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'"; Lien vers le commentaire Partager sur d’autres sites More sharing options...
cot Posté 8 Février 2012 Auteur Partager Posté 8 Février 2012 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'"; Lien vers le commentaire Partager sur d’autres sites More sharing options...
Aenoa Posté 8 Février 2012 Partager Posté 8 Février 2012 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
cot Posté 8 Février 2012 Auteur Partager Posté 8 Février 2012 au fait echo mysql_error($resultat); ça bug, je dois mal l'utiliser Je crois que je me rapproche de mon erreur Lien vers le commentaire Partager sur d’autres sites More sharing options...
Aenoa Posté 8 Février 2012 Partager Posté 8 Février 2012 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_* Lien vers le commentaire Partager sur d’autres sites More sharing options...
jcaron Posté 9 Février 2012 Partager Posté 9 Février 2012 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant