jojo403
Messages postés5Date d'inscriptionvendredi 15 mars 2002StatutMembreDernière intervention22 juillet 2006
-
10 avril 2006 à 19:29
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
10 avril 2006 à 23:42
Bonsoir, voici mon script :
<?php
// serveur
$sql_serveur="localhost";
// login
$sql_user="root";
// pass
$sql_passwd="";
// bdd
$sql_bdd="enjoy";
// Et on se connecte :)
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible "; exit;}
//Test sur les variables
if($pseudo==""){echo "Vous devez choisir un pseudo
Retour";exit;}
if($pass==""){echo "Vous devez choisir un mot de passe
Retour";exit;}
// On vérifie si le pseudo existe ou pas$requete mysql_query ('SELECT pseudo FROM user WHERE pseudo "'.$pseudo.'"');
if (mysql_num_rows ($requete) !== 0)
{
echo "Ce pseudo existe déjà, veuillez en choisir un autre
Retour";
}
else
{
// Création d'un identifiant
$taille = 20;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($i=0;$i<$taille;$i++)
{
$id=substr($lettres,(rand()%(strlen($lettres))),1);
}
// Recherche de l'id maximum de la table
$requete=mysql_db_query($sql_bdd,"select max(id_membre) from user",$db_link) or die(mysql_error());
$idmax=mysql_result($requete,0,"max(id_membre)");
// Enregistrement dans la table user
$idnew=$idmax+1;
$requete=mysql_db_query($sql_bdd,"insert into user values ($idnew,"$pseudo","$pass")",$db_link) or die( mysql_error());
echo "Merci, vous êtes bien enregistré. Cliquez ici pour entrer dans votre espace privé.";
}
mysql_close(); // Déconnexion de MySQL
?>
et j'ai une erreur de ce type : Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\cs\test.php on line 39
Ce pseudo existe déjà, veuillez en choisir un autre
J'ai beau esseyer, je ne trouve vraiment aucune solution. Ma table s'appelle bien user et ma db est bien enjoy. Help me please
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???"
jojo403
Messages postés5Date d'inscriptionvendredi 15 mars 2002StatutMembreDernière intervention22 juillet 2006 10 avril 2006 à 20:23
Malheuresement cela ne résoud pas mon problème car à mon gout la requete est bonne. Dans ma base de donnée enjoy j'ai bien une table user dans laquel se trouve bien la catégorie pseudo. Mais cela ne marche toujours pas
jojo403
Messages postés5Date d'inscriptionvendredi 15 mars 2002StatutMembreDernière intervention22 juillet 2006 10 avril 2006 à 21:18
Le problème c'est que je n'ai pas la moindre idée de quoi faire arrivé a ce stade la pour trouver le problème. Et quand tu me dit de faire un echo sur ma requete je ne vois pas trop se que tu veux dire. Dsl j'étudie le php depuis peu de temps, je n'ai pas encore toutes les bases. Et c'est ce qui me fait dire que la requete est bonne, mais comme elle ne l'est surement pas. Je n'ai vraiment PAS LA MOINDRE idée de ce qu'il faut que je fasse.
Merci d'avance.
jordan
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 10 avril 2006 à 21:56
Au fait je viens de voir ton code, prends plutôt un code d'espace membre récent, j'en ai fait un tout simple si tu veux dans mes sources ("espace membre très simple avec mysql") parce que là c'est très mal codé, on pourra partir sur de bonnes bases.
//Test sur les variables
if($pseudo==""){echo "Vous devez choisir un pseudo
Retour";exit;}
if($pass==""){echo "Vous devez choisir un mot de passe
Retour";exit;}
// On vérifie si le pseudo existe ou pas
$sql = "SELECT * FROM user WHERE pseudo='$pseudo'";
$result = mysql_query($sql);
if (mysql_numrows($result) == 0)
{
// Création d'un identifiant
$taille = 20;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($i=0;$i<$taille;$i++)
{
$id=substr($lettres,(rand()%(strlen($lettres))),1);
}
// Recherche de l'id maximum de la table
$requete=mysql_query("select max(id_membre) from user") or die(mysql_error());
$idmax=mysql_result($requete,0,"max(id_membre)");
// Enregistrement dans la table user
$idnew=$idmax+1;
$requete=mysql_query("insert into user values ($idnew,"$pseudo","$pass")") or die( mysql_error());
echo "Merci, vous êtes bien enregistré. Cliquez ici pour entrer dans votre espace privé.";
}
else
{
echo "Ce pseudo existe déjà, veuillez en choisir un autre
Retour";
}
mysql_close(); // Déconnexion de MySQL
?>
Elle est plus "sur de bonnes base" non ?
Enfin maintenant ça parait mieu marcher mais j'ai toujours une erreur bien qu'elle soit différente.
En effet voici mon erreur : Column count doesn't match value count at row 1
Ais-je encore fais une erreur ?