Effectuer une recherche et afficher !

Invité
Invité n'ayant pas de compte PHPfrance

27 déc. 2006, 17:28

Bonjour,

Sur mon site,il y a la possibilité de rechercher si un membre existe,j'ai fait ceci pour la recherche :
$reponse_pseudo=mysql_query("SELECT pseudo FROM membres WHERE pseudo='$pseudo'") or die ('Erreur : '.mysql_error());
$count_pseudo=mysql_num_rows($reponse_pseudo);
if($count_pseudo == 0)
	{
	echo'Ce pseudo n\'existe pas ou n\'existe plus.
En principe,si le pseudo rechercher est par exemple "JOHN" et que ce pseudo n'existe pas,je devrait avoir l'echo ci dessus ?

Mais là,non,j'ai donc du me tromper mais ou ?

Merci de votre aide :wink:

ViPHP
ViPHP | 1961 Messages

27 déc. 2006, 17:33

Bonjour,

Tu devrais faire afficher les erreurs de PHP.
Tu aurais vu que cette ligne contient une erreur de syntaxe
echo'Ce pseudo n\'existe pas ou n\'existe plus. 
Écris-la comme ceci
echo 'Ce pseudo n\'existe pas ou n\'existe plus.' 
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

27 déc. 2006, 17:40

Non,non ! Je n'ai absolument aucune erreur ! Pour la simple et bonne raison que je n'ai pas mi tout le code sur le forum ! Pas d'erreur de syntaxe et autres sql , aucun n'oublie de ' ou ] ou autre signe !

Merci quand même :wink:

Je pense que le problème vient d'ici :
if($count_pseudo == 0)

ViPHP
ViPHP | 1961 Messages

27 déc. 2006, 17:42

Fais un echo avant ton test.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

27 déc. 2006, 17:52

Je vient de faire cela et j'ai absolument rien !

Il n'y a aucune erreur sql,juste une erreur dans la recherche !

Parce que si je met
if($count_pseudo == 0)
La recherche se poursuit mais sans en tenir compte ! et si je met ==1 , il me bloque avec mon echo !

Eléphant du PHP | 86 Messages

27 déc. 2006, 18:29

pourquoi tu ne testerais pas un mysql_fetch_array a la place de ton mysql_num_rows

Ainsi tu auras ton(tes) resultat(s) dans un tableau, ce qui est plus facile a gérer
$var=mysql_fetch_array($resultat)
i=0
for($i=0;$i<=$var.length();$i++)
{
    $var[$i].........
}
essaie qque chose comme cela avec ton code correspondant
Comme dit le proverbe chinois:"Si tu parles a tes chaussons.....C'est que tu es le Roi des C..." :D

ViPHP
ViPHP | 1961 Messages

27 déc. 2006, 18:49

Re,
Essaie avec ceci
$reponse_pseudo=mysql_query("SELECT count(pseudo) AS existe FROM membres WHERE pseudo='$pseudo'") or die ('Erreur : '.mysql_error());
$count_pseudo=mysql_result($reponse_pseudo, 0, 0);
if($count_pseudo == 0)
    {
    echo 'Ce pseudo n\'existe pas ou n\'existe plus.' 
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein