Problème espace membre PHP

Résolu/Fermé
Zyo1 Messages postés 83 Date d'inscription vendredi 22 juin 2012 Statut Membre Dernière intervention 24 juillet 2015 - 22 juin 2012 à 14:23
Colbi97 Messages postés 564 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 25 novembre 2015 - 22 juin 2012 à 17:25
Bonjour,


Je m'exerce actuellement à faire un formulaire d'inscription pour un espace membres,mais
lorsque j'entre les informations dans celui-ci mon programme me retourne l'erreur suivante:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP-5.3.9\www\espace2\inscription.php on line 43

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP-5.3.9\www\espace2\inscription.php on line 47


Voici le code de mon programme inscription.php :

<?php
include('config.php');
?>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="css/style.css" />
<title>Inscription</title>
</head>

<body>
<div class="header">
<a href="<?php echo $url_home; ?>"><img src="<?php echo $design; ?>logo.png" alt="Espace Membre" /></a>
</div>

<?php
//On verifie que le formulaire a été envoyé
if(isset($_POST['username'], $_POST['password'], $_POST['passverif'], $_POST['email'], $_POST['avatar'])
and $_POST['username']!='')
{
//On enleve lechappement si get_magic_quotes_gpc est active
if(get_magic_quotes_gpc())
{
$_POST['username'] = stripslashes($_POST['username']);
$_POST['password'] = stripslashes($_POST['password']);
$_POST['passverif'] = stripslashes($_POST['passverif']);
$_POST['email'] = stripslashes($_POST['email']);
$_POST['avatar'] = stripslashes($_POST['avatar']);
}

//On verifie si le mot de passe et celui de la verification sont identiques
if($_POST['password']==$_POST['passverif'])
{
//On verifie si le mot de passe a 6 caracteres ou plus
if(strlen($_POST['password'])>=6)
{
//On verifie si lemail est valide
if(preg_match("^([a-zA-Z0-9]+(([\.\-\_]?[a-zA-Z0-9]+)+)?)\@(([a-zA-Z0-9]+[\.\-\_])+[a-zA-Z]{2,4})$",$_POST['email']))
{
//On echappe les variables pour pouvoir les mettre dans une requette SQL
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
$avatar = mysql_real_escape_string($_POST['avatar']);
//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
$dn = mysql_num_rows(mysql_query('select id from users where username="'.$username.'"'));
if($dn==0)
{
//On recupere le nombre dutilisateurs pour donner un identifiant a lutilisateur actuel
$dn2 = mysql_num_rows(mysql_query('select id from users'));
$id = $dn2+1;
//On enregistre les informations dans la base de donnee
if(mysql_query('insert into users(id, username, password, email, avatar, signup_date) values ('.$id.', "'.$username.'", "'.$password.'", "'.$email.'", "'.$avatar.'", "'.time().'")'))
{
//Si ca a fonctionne, on naffiche pas le formulaire
$form = false;
?>
<div class="message">Vous avez bien été inscrit. Vous pouvez dorénavant vous connecter.<br />
<a href="connexion.php">Se connecter</a></div>
<?php
}
else
{
//Sinon on dit quil y a eu une erreur
$form = true;
$message = 'Une erreur est survenue lors de l\'inscription.';
}
}
else
{
//Sinon, on dit que le pseudo voulu est deja pris
$form = true;
$message = 'Un autre utilisateur utilise déjà le nom d\'utilisateur que vous désirez utiliser.';
}
}
else
{
//Sinon, on dit que lemail nest pas valide
$form = true;
$message = 'L\'email que vous avez entré n\'est pas valide.';
}
}
else
{
//Sinon, on dit que le mot de passe nest pas assez long
$form = true;
$message = 'Le mot de passe que vous avez entré contien moins de 6 caractères.';
}
}
else
{
//Sinon, on dit que les mots de passes ne sont pas identiques
$form = true;
$message = 'Les mots de passe que vous avez entré ne sont pas identiques.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<div class="message">'.$message.'</div>';
}
//On affiche le formulaire
?>
<div class="content">
<form action="sign_up.php" method="post">
Veuillez remplir ce formulaire pour vous inscrire:<br />
<div class="center">
<label for="username">Nom d'utilisateur</label><input type="text" name="username" value="<?php if(isset($_POST['username'])){echo htmlentities($_POST['username'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<label for="password">Mot de passe<span class="small">(6 caractères min.)</span></label><input type="password" name="password" /><br />
<label for="passverif">Mot de passe<span class="small">(vérification)</span></label><input type="password" name="passverif" /><br />
<label for="email">Email</label><input type="text" name="email" value="<?php if(isset($_POST['email'])){echo htmlentities($_POST['email'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<label for="avatar">Image perso<span class="small">(facultatif)</span></label><input type="text" name="avatar" value="<?php if(isset($_POST['avatar'])){echo htmlentities($_POST['avatar'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<input type="submit" value="Envoyer" />
</div>
</form>
</div>
<?php
}
?>
<div class="foot"><a href="<?php echo $url_home; ?>">Retour à l'accueil</a> - <a href="http://www.lesiteduzero.com/">Support du Web</a></div>
</body>
</html>



Et voici celui de mon programme config.php

<?php
//On demarre les sessions
session_start();



//On se connecte a la base de donnee
mysql_connect('localhost', 'root', '');
mysql_select_db('users');

//Email du webmaster
$mail_webmaster = 'example@example.com';

//Adresse du dossier de la top site
$url_root = 'http://www.example.com/';



//Nom du fichier de laccueil
$url_home = 'index.php';

//Nom du design
$design = 'default';
?>


Je n'arrive absolument pas à trouver la solution
Pourriez-vous m'aider svp?













A voir également:

9 réponses

slackeruser Messages postés 121 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 3 août 2018 16
22 juin 2012 à 14:39
Le mieux est de séparer ton mysql_query() et ton mysql_num_rows(). Tu peux avoir une erreur dans ta requête SQL, qui peut entrainer ce genre d'erreur. Et si le but de ton SELECT et d'avoir le nombre d'enregistrements, autant faire directement un SELECT COUNT()
0
Zyo1 Messages postés 83 Date d'inscription vendredi 22 juin 2012 Statut Membre Dernière intervention 24 juillet 2015
22 juin 2012 à 14:48
Merci de ta réponse, mais pourrez tu m'indiquer comment procéder stp? car je ne voit pas du tout
0
Colbi97 Messages postés 564 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 25 novembre 2015 12
22 juin 2012 à 14:53
Alors, ta connexion :
//On se connecte a la base de donnee
mysql_connect('localhost', 'root', '');
mysql_select_db('users'); 

devrait plutôt être comme ceci :
//On se connecte a la base de donnee
$connect=mysql_connect('localhost', 'root', '');
mysql_select_db('users',$db);


deuxième point tes requêtes:
//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
$dn = mysql_num_rows(mysql_query('select id from users where username="'.$username.'"'));
if($dn==0)
{
//On recupere le nombre dutilisateurs pour donner un identifiant a lutilisateur actuel
$dn2 = mysql_num_rows(mysql_query('select id from users'));
$id = $dn2+1; 

pour être complet (mais ce n'est pas obligatoire) tu devrais écrire :
//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
$dn = mysql_num_rows(mysql_query('select id from users where username="'.$username.'"',$connect));
if($dn==0)
{
//On recupere le nombre dutilisateurs pour donner un identifiant a lutilisateur actuel
$dn2 = mysql_num_rows(mysql_query('select id from users',$connect));
$id = $dn2+1; 


Essaye déjà ceci, et si ça ne fonctionne pas on rajoutera quelque lignes pour avoir un message d'erreur plus intéressant...

P.S. : quand tu postes un code pour obtenir de l'aide il est bon d'identifier les lignes concernées par le message d'erreur, ça évite aux helpeurs de les rechercher.
0
Zyo1 Messages postés 83 Date d'inscription vendredi 22 juin 2012 Statut Membre Dernière intervention 24 juillet 2015
Modifié par Zyo1 le 22/06/2012 à 15:30
Merci pour ta réponse,
Maintenant j'ai ces deux erreur avant que je click sur le lien contenant le formulaire:

Notice: Undefined variable: db in C:\Program Files (x86)\EasyPHP-5.3.9\www\espace2\config.php on line 14

Warning: mysql_select_db() expects parameter 2 to be resource, null given in C:\Program Files (x86)\EasyPHP-5.3.9\www\espace2\config.php on line 14

et j'ai encore les erreurs du début,

Je te montre les 2 programmes:
config.php

//On se connecte a la base de donnee

$connect=mysql_connect('localhost', 'root', '');
ligne14-->mysql_select_db('users',$db);


//Email du webmaster
$mail_webmaster = 'example@example.com';

//Adresse du dossier de la top site
$url_root = 'http://www.example.com/';

et inscription.php


<?php
include('config.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" />
<title>Inscription</title>
</head>
<body>
<div class="header">
<a href="<?php echo $url_home; ?>"><img src="<?php echo $design; ?>/images/logo.png" alt="Espace Membre" /></a>
</div>
<?php
//On verifie que le formulaire a ete envoye
if(isset($_POST['username'], $_POST['password'], $_POST['passverif'], $_POST['email'], $_POST['avatar']) and $_POST['username']!='')
{
//On enleve lechappement si get_magic_quotes_gpc est active
if(get_magic_quotes_gpc())
{
$_POST['username'] = stripslashes($_POST['username']);
$_POST['password'] = stripslashes($_POST['password']);
$_POST['passverif'] = stripslashes($_POST['passverif']);
$_POST['email'] = stripslashes($_POST['email']);
$_POST['avatar'] = stripslashes($_POST['avatar']);
}
//On verifie si le mot de passe et celui de la verification sont identiques
if($_POST['password']==$_POST['passverif'])
{
//On verifie si le mot de passe a 6 caracteres ou plus
if(strlen($_POST['password'])>=6)
{
//On verifie si lemail est valide
if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_'{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_'{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
{
//On echape les variables pour pouvoir les mettre dans une requette SQL
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
$avatar = mysql_real_escape_string($_POST['avatar']);
//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
*ligne43--> $dn = mysql_num_rows(mysql_query('select id from users where username="'.$username.'"',$connect));
if($dn==0)
{
//On recupere le nombre dutilisateurs pour donner un identifiant a lutilisateur actuel
*ligne47--> $dn2 = mysql_num_rows(mysql_query('select id from users',$connect));
$id = $dn2+1;
//On enregistre les informations dans la base de donnee
if(mysql_query('insert into users(id, username, password, email, avatar, signup_date) values ('.$id.', "'.$username.'", "'.$password.'", "'.$email.'", "'.$avatar.'", "'.time().'")'))
{
//Si ca a fonctionne, on naffiche pas le formulaire
$form = false;
?>
<div class="message">Vous avez bien été inscrit. Vous pouvez dorénavant vous connecter.<br />
<a href="connexion.php">Se connecter</a></div>
<?php
}
else
{
//Sinon on dit quil y a eu une erreur
$form = true;
$message = 'Une erreur est survenue lors de l\'inscription.';
}
}
else
{
//Sinon, on dit que le pseudo voulu est deja pris
$form = true;
$message = 'Un autre utilisateur utilise déjà le nom d\'utilisateur que vous désirez utiliser.';
}
}
else
{
//Sinon, on dit que lemail nest pas valide
$form = true;
$message = 'L\'email que vous avez entré n\'est pas valide.';
}
}
else
{
//Sinon, on dit que le mot de passe nest pas assez long
$form = true;
$message = 'Le mot de passe que vous avez entré contien moins de 6 caractères.';
}
}
else
{
//Sinon, on dit que les mots de passes ne sont pas identiques
$form = true;
$message = 'Les mots de passe que vous avez entré ne sont pas identiques.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<div class="message">'.$message.'</div>';
}
//On affiche le formulaire
?>
<div class="content">
<form action="sign_up.php" method="post">
Veuillez remplir ce formulaire pour vous inscrire:<br />
<div class="center">
<label for="username">Nom d'utilisateur</label><input type="text" name="username" value="<?php if(isset($_POST['username'])){echo htmlentities($_POST['username'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<label for="password">Mot de passe<span class="small">(6 caractères min.)</span></label><input type="password" name="password" /><br />
<label for="passverif">Mot de passe<span class="small">(vérification)</span></label><input type="password" name="passverif" /><br />
<label for="email">Email</label><input type="text" name="email" value="<?php if(isset($_POST['email'])){echo htmlentities($_POST['email'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<label for="avatar">Image perso<span class="small">(facultatif)</span></label><input type="text" name="avatar" value="<?php if(isset($_POST['avatar'])){echo htmlentities($_POST['avatar'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<input type="submit" value="Envoyer" />
</div>
</form>
</div>
<?php
}
?>
<div class="foot"><a href="<?php echo $url_home; ?>">Retour à l'accueil</a> - <a href="http://www.supportduweb.com/">Support du Web</a></div>
</body>
</html>


Je ne comprend vraiment pas ce que ces erreurs veulent dire
0
Colbi97 Messages postés 564 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 25 novembre 2015 12
22 juin 2012 à 15:32
Mea culpa !
config.php :
//On se connecte a la base de donnee

$connect=mysql_connect('localhost', 'root', '');
ligne14-->mysql_select_db('users',$connect);

En effet, tu dois remettre le nom de la variable qui correspond à la connexion...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Zyo1 Messages postés 83 Date d'inscription vendredi 22 juin 2012 Statut Membre Dernière intervention 24 juillet 2015
Modifié par Zyo1 le 22/06/2012 à 15:40
Oups bien vue ;-)

Mais j'ai toujours ces 2 erreurs :

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP-5.3.9\www\espace2\sign_up.php on line 43

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP-5.3.9\www\espace2\sign_up.php on line 47



inscription.php


<?php
include('config.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" />
<title>Inscription</title>
</head>
<body>
<div class="header">
<a href="<?php echo $url_home; ?>"><img src="<?php echo $design; ?>/images/logo.png" alt="Espace Membre" /></a>
</div>
<?php
//On verifie que le formulaire a ete envoye
if(isset($_POST['username'], $_POST['password'], $_POST['passverif'], $_POST['email'], $_POST['avatar']) and $_POST['username']!='')
{
//On enleve lechappement si get_magic_quotes_gpc est active
if(get_magic_quotes_gpc())
{
$_POST['username'] = stripslashes($_POST['username']);
$_POST['password'] = stripslashes($_POST['password']);
$_POST['passverif'] = stripslashes($_POST['passverif']);
$_POST['email'] = stripslashes($_POST['email']);
$_POST['avatar'] = stripslashes($_POST['avatar']);
}
//On verifie si le mot de passe et celui de la verification sont identiques
if($_POST['password']==$_POST['passverif'])
{
//On verifie si le mot de passe a 6 caracteres ou plus
if(strlen($_POST['password'])>=6)
{
//On verifie si lemail est valide
if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_'{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_'{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
{
//On echape les variables pour pouvoir les mettre dans une requette SQL
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
$avatar = mysql_real_escape_string($_POST['avatar']);
//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
*ligne43--> $dn = mysql_num_rows(mysql_query('select id from users where username="'.$username.'"',$connect));
if($dn==0)
{
//On recupere le nombre dutilisateurs pour donner un identifiant a lutilisateur actuel
*ligne47--> $dn2 = mysql_num_rows(mysql_query('select id from users',$connect));
$id = $dn2+1;
//On enregistre les informations dans la base de donnee
if(mysql_query('insert into users(id, username, password, email, avatar, signup_date) values ('.$id.', "'.$username.'", "'.$password.'", "'.$email.'", "'.$avatar.'", "'.time().'")'))
{
//Si ca a fonctionne, on naffiche pas le formulaire
$form = false;
?>
<div class="message">Vous avez bien été inscrit. Vous pouvez dorénavant vous connecter.<br />
<a href="connexion.php">Se connecter</a></div>
<?php
}
else
{
//Sinon on dit quil y a eu une erreur
$form = true;
$message = 'Une erreur est survenue lors de l\'inscription.';
}
}
else
{
//Sinon, on dit que le pseudo voulu est deja pris
$form = true;
$message = 'Un autre utilisateur utilise déjà le nom d\'utilisateur que vous désirez utiliser.';
}
}
else
{
//Sinon, on dit que lemail nest pas valide
$form = true;
$message = 'L\'email que vous avez entré n\'est pas valide.';
}
}
else
{
//Sinon, on dit que le mot de passe nest pas assez long
$form = true;
$message = 'Le mot de passe que vous avez entré contien moins de 6 caractères.';
}
}
else
{
//Sinon, on dit que les mots de passes ne sont pas identiques
$form = true;
$message = 'Les mots de passe que vous avez entré ne sont pas identiques.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<div class="message">'.$message.'</div>';
}
//On affiche le formulaire
?>
<div class="content">
<form action="sign_up.php" method="post">
Veuillez remplir ce formulaire pour vous inscrire:<br />
<div class="center">
<label for="username">Nom d'utilisateur</label><input type="text" name="username" value="<?php if(isset($_POST['username'])){echo htmlentities($_POST['username'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<label for="password">Mot de passe<span class="small">(6 caractères min.)</span></label><input type="password" name="password" /><br />
<label for="passverif">Mot de passe<span class="small">(vérification)</span></label><input type="password" name="passverif" /><br />
<label for="email">Email</label><input type="text" name="email" value="<?php if(isset($_POST['email'])){echo htmlentities($_POST['email'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<label for="avatar">Image perso<span class="small">(facultatif)</span></label><input type="text" name="avatar" value="<?php if(isset($_POST['avatar'])){echo htmlentities($_POST['avatar'], ENT_QUOTES, 'UTF-8');} ?>" /><br />
<input type="submit" value="Envoyer" />
</div>
</form>
</div>
<?php
}
?>
<div class="foot"><a href="<?php echo $url_home; ?>">Retour à l'accueil</a> - <a href="http://www.supportduweb.com/">Support du Web</a></div>
</body>
</html>

J'ai indiqué sur le code le numéro des lignes où le problème se pose
0
Colbi97 Messages postés 564 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 25 novembre 2015 12
Modifié par Colbi97 le 22/06/2012 à 15:52
Ok, donc comme te disais slackeruser un peu plus haut, il faut séparer ton select de ton mysql_num_rows pour savoir d'où viens ton erreur :
//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis 
$result = mysql_query("select id from users where username='".$username."'",$connect); 
$dn = mysql_num_rows($result); 
{ 
//On recupere le nombre dutilisateurs pour donner un identifiant a lutilisateur actuel 
$result2 = mysql_query("select id from users",$connect); 
$dn2=mysql_num_rows($result2); 
$id = $dn2+1; 

Essaye ça et dis moi quels sont les messages d'erreur (pas besoin de redonner tout le code).
0
Zyo1 Messages postés 83 Date d'inscription vendredi 22 juin 2012 Statut Membre Dernière intervention 24 juillet 2015
Modifié par Zyo1 le 22/06/2012 à 16:02
J'ai maintenant une erreur à la ligne 74 dès que je click sur le lien menant au formulaire:

Parse error: syntax error, unexpected T_ELSE in C:\Program Files (x86)\EasyPHP-5.3.9\www\espace2\sign_up.php on line 74 :

else
{
//Sinon, on dit que le pseudo voulu est deja pris
$form = true;
$message = 'Un autre utilisateur utilise déjà le nom d\'utilisateur que vous désirez utiliser.';
}

j'ai essayé d'enlever le else puisque je pensé que cela provenait du fait que l'on est supprimé le if mais cela me donne ensuite une erreur à la ligne 81

Parse error: syntax error, unexpected T_ELSE in C:\Program Files (x86)\EasyPHP-5.3.9\www\espace2\sign_up.php on line 81
0
Colbi97 Messages postés 564 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 25 novembre 2015 12
22 juin 2012 à 16:50
Tu as supprimé le if ?
Seules les commandes SQL étaient à modifier, excuse moi de ne pas avoir repris le if, je me suis concentré sur le problème de requête sans faire attention à sa présence...
0
Zyo1 Messages postés 83 Date d'inscription vendredi 22 juin 2012 Statut Membre Dernière intervention 24 juillet 2015
Modifié par Zyo1 le 22/06/2012 à 17:06
Ok voici la modification que j'ai apporté à la partie du code :

//On echape les variables pour pouvoir les mettre dans une requette SQL
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
$avatar = mysql_real_escape_string($_POST['avatar']);
//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
$result = mysql_query("select id from users where username='".$username."'",$connect);
ligne44-->$dn = mysql_num_rows($result);
if($dn==0)
{
//On recupere le nombre dutilisateurs pour donner un identifiant a lutilisateur actuel

$result2 = mysql_query("select id from users",$connect);
ligne50-->$dn2=mysql_num_rows($result2);
$id = $dn2+1;
//On enregistre les informations dans la base de donnee


Mais j'ai les erreurs suivantes :


Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP-5.3.9\www\espace2\sign_up.php on line 44

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP-5.3.9\www\espace2\sign_up.php on line 50

C'est vraiment troublant...
0
Colbi97 Messages postés 564 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 25 novembre 2015 12
22 juin 2012 à 17:11
Peux-tu essayer ceci :
$result = mysql_query("select id from users where username='".$username."'",$connect) or die(mysql_error());
ligne44-->$dn = mysql_num_rows($result);
if($dn==0)
{
//On recupere le nombre dutilisateurs pour donner un identifiant a lutilisateur actuel

$result2 = mysql_query("select id from users",$connect) or die(mysql_error());
ligne50-->$dn2=mysql_num_rows($result2);
$id = $dn2+1; 

Cela nous permettra d'écarter le risque d'erreur dans la requête.
0
Zyo1 Messages postés 83 Date d'inscription vendredi 22 juin 2012 Statut Membre Dernière intervention 24 juillet 2015
Modifié par Zyo1 le 22/06/2012 à 17:19
Ah voilà cette erreur est enfin supprimer :-)

Mais j'ai maintenant la réponse suivante :

Aucune base n'a été sélectionnée

Pourtant par la commande :
//On se connecte a la base de donnee
$connect=mysql_connect('localhost', 'root', '');
mysql_select_db('users',$connect);

J'appelle bien ma base de données appellée users,
Comment cela ce fait t'il?
0
Colbi97 Messages postés 564 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 25 novembre 2015 12
Modifié par Colbi97 le 22/06/2012 à 17:25
On va modifier là aussi :
 
//On se connecte a la base de donnee 
$connect=mysql_connect('localhost', 'root', '') or die('Impossible de se connecter : ' . mysql_error()); 
mysql_select_db('users',$connect) or die ('Impossible de sélectionner la base de données : ' . mysql_error());
0
Zyo1 Messages postés 83 Date d'inscription vendredi 22 juin 2012 Statut Membre Dernière intervention 24 juillet 2015
22 juin 2012 à 17:21
Ah désolé c'est ok j'ai rectifié

Vraiment merci pour ton aide c'est vraiment sympa sa faisais depuis ce matin que je planché dessus

Merci ;-)
0