Num_rows->pageblanche? [Résolu]

Signaler
Messages postés
3
Date d'inscription
samedi 30 septembre 2006
Statut
Membre
Dernière intervention
30 septembre 2006
-
Messages postés
3
Date d'inscription
samedi 30 septembre 2006
Statut
Membre
Dernière intervention
30 septembre 2006
-
Bonjour!

J'ai eu un léger problème avec l'utilisation du num_rows.
En effet, j'ai commencé par essayer de créer une page sécurisé sur mon serveur local. Le fonctionnement est le suivant: -on remplie un formulaire, cela permet de créer une variable pseudo et une variable mot de passe. Puis un script verifie que les informations existent. Il cherche ensuite dans une base de donnée si l existe une ligne avec le pseudo et le mot de passe.
C'est là qu'intervient le num_rows pour compter combien l'on a de lignes avec à la fois le pseudo et le mot de passe.
Sauf que: le script arrete de s'executer au niveau du mysql_query que va compter le num_rows.
J'ai donc fais plusieurs tests. En remplacant le query par une variable, le num rows focntionne. En laissant le query et en enlevant le num_rows, tout fonctionne.

Je me suis donc dit qu'il y avait un erreur dans l'execution des requêtes bien que le "or die();" ne me donne aucun résultat. J'ai alors mis des @ avant mes requêtes et miracle tout se me à foncionner.

Sauf que lorsque j'ai transferé tout ça sur free... je retombe sur la page blanche digne de Mr.Propre.

Pour avoir mes differents essais:
http://flydiddle.free.fr/contact%20php/

J'ai légèrement alleger par rapport à l'original et n'ai laisser que ce qui peut-etre source d'erreur. (j'explique en haut le resultat)

4 réponses

Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
$resource = mysql_query( ... ) or die( 'Erreur MySQL: ' . mysql_error() );
if( !mysql_num_rows( $resource ) )
  // pas d'enregistrement ici

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
449
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
5 mars 2009

On peut avoir les codes en question ?

@+
Messages postés
3
Date d'inscription
samedi 30 septembre 2006
Statut
Membre
Dernière intervention
30 septembre 2006

ils sont dans le lien que j'ai mis.  http://flydiddle.free.fr/contact%20phphttp://flydiddle.free.fr/contact%20php/
mais voila là partie interessante dans la version qui marcher sans problèmes en local et pas du tout en ligne:

[...]
 $login = htmlentities($_POST['login_con'], ENT_QUOTES);
 $password = htmlentities($_POST['pass_con'], ENT_QUOTES);
//on récupère les informations de connections
 $log = $_SESSION['bdd_login'];
 $pas = $_SESSION['bdd_password'];
 $host = $_SESSION['bdd_host'];
 $base = $_SESSION['bdd_base'];
 $connect = mysql_connect("$host", "$log", "$pas") or die(mysql_error());
 @mysql_select_db("$base") or die(mysql_error());
 $resource = @mysql_query("SELECT * FROM ne_membres WHERE pseudonyme='$login' and password='$password'", $connect) or die (mysql_error());
 $num_rows = @mysql_num_rows($resource);
 
 if ($num_rows != NULL) // controle d'existence du joueur
{
[...]

Voila!!
Messages postés
3
Date d'inscription
samedi 30 septembre 2006
Statut
Membre
Dernière intervention
30 septembre 2006

Merci, l'erreur venait également d'un point en trop à la connection. Mais grace à ton truc, j'ai pu enlever les @ et ça me semble tout de même plus propre.