Formulaire d'inscription php

Fermé
chrome - Modifié par chrome le 29/02/2012 à 17:03
 wilson - 27 juin 2014 à 14:51
Bonjour, j'ai un souci sur le codage d'un espace membre pour mon site. La ligne qui pose problème est celle en gras (replacée dans le 'contexte'). Un message d'erreur s'affiche :

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /xxx/xx/xx.php on line ...




 //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 
                                $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; 
                                         




Merci beaucoup de votre aide car là je suis vraiment bloqué!


A voir également:

2 réponses

Bonjour

Pour analyser le problème, évite de tout faire en une seule ligne, et utilise la fonction mysql_error :

$rep=mysql_query('select id from users where username="'.$username.'"') or die (mysql_error()); 
$dn = mysql_num_rows($rep);
0
aider moi j'ai un probleme avec mon scrpte
je n'arive pas a conneter un username en incrementent
pourtan l'inscription a ete bien fait
 <?php
//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
$req = mysql_query('select * from users');
$dnn = mysql_fetch_array($req);
while ($dnn = mysql_fetch_array($req))
{
?>
<form action="xxxxxx.php?id=<?php echo $dnn['id']; ?>;
<?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?>" method="post">
<?php

}
?>
0
merci bcp ca a l'air de marcher!
0
C'était supposé aider à diagnostiquer le problème, pas le résoudre. Tu n'as rien fait d'autre ?
0
je pensais que je devais faire un truc en plus mais j'ai copié collé ce que tu m'as donné et tout fonctionne. Apres, c'est peut-être bizarre mais bon mon problème a l'air d'être résolu :)
0
si ca se trouve c'était une faute de syntaxe
0
si ca se trouve c'était une faute de syntaxe
Pourquoi dis-tu ça ? Je ne vois aucune erreur de syntaxe, à laquelle penses-tu ?
D'autant plus que ma façon de présenter la requête ne change strictement rien à sa syntaxe.
0
il etre vigilant lorque tu code
0