Problème requete mysql

Petit nouveau ! | 4 Messages

13 mars 2007, 22:08

Salut,
Je suis en train de coder un site. Pour cela j'utilise une base de donnée pour gérer les utilisateurs (normal).
J'ai réalisé un formulaire d'inscription. Pour pouvoir s'inscrire il ne faut pas que le login demandé existe déja.
Voila le code la page
<!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=iso-8859-1" />
<title>Inscription | rockstar</title>
</head>

<body>
<?php
if (isset ($_POST['login']) && ($_POST['password']) && ($_POST['password2']) && ($_POST['email']) && ($_POST['email']) && ($_POST['nom']) && ($_POST['prenom'])){
	if (($_POST['password']) !== ($_POST['password2'])) {
		echo 'Erreur, vous allez être redirigé automatiquement';
	}
	
	else if (!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email'])) {
		echo "Veuillez entrer une adresse e-mail valide";
	}
	
		
	else {
		$login = $_POST['login'];
		$cryptPass = md5 (($_POST['password']));
		$email = $_POST['email'];
		$nom = $_POST['nom'];
		$prenom = $_POST['prenom'];
		
		//on se connecte à la DB
		mysql_connect ("localhost", "root", "");
		mysql_select_db ("rockstar");
		
		$req = mysql_query ("SELECT COUNT * AS nbre_entrees FROM user WHERE login = '$login' ") or die (mysql_error());
		$total = mysql_fetch_array($req);
	
		if ($total['nbre_entrees'] > 0 ) {
			echo "Veuillez choisir un autre login";
		}
		
		else {
	
			//ajout de l'utilisateur dans la DB
			mysql_query ("INSERT INTO user VALUES ('', '$login', '$cryptPass', '$email', '$nom', '$prenom')");
			echo $_POST['prenom']." ton inscription a été prise en compte";
					
		}
		
		mysql_close();
	}
} 

else {
	echo "Veuillez remplir tout les champs";
?>

<form action="#" method="post">
Veuillez créer un login :<input type="text" name="login" /><br />
Veuillez créer un mot de passe : <input type="password" name="password" /><br />
Retapez votre mot de passe : <input type="password" name="password2" /><br />
Veuillez entrez votre adresse e-mail : <input type="text" name="email"/><br />
Votre nom : <input type="text" name="nom" /><br />
Votre prénom : <input type="text" name="prenom" /><br />
<input type="submit" value="Inscription"/><input type="reset" value="Recommencer" />
</form>
<?php
}

?>

</body>
</html>
Ce code me renvoit l'erreur suivante
Erreur de syntaxe près de 'AS nbre_entrees FROM user WHERE login = 'marsu15'' à la ligne 1
Ai-je fait une erreur quelque part (je pense que oui, sinon y'aurait pas une erreur!!)

Mammouth du PHP | 543 Messages

13 mars 2007, 22:31

count(*) ;)

Petit nouveau ! | 4 Messages

13 mars 2007, 22:45

Au départ j'avais mis :
COUNT (*)
.
Ca ne marchait. J'ai déja demandé sur le site du zéro où on m'a dis de mettre :
COUNT *
Modifié en dernier par marsu15 le 13 mars 2007, 22:50, modifié 2 fois.

Mammouth du PHP | 543 Messages

13 mars 2007, 22:50

ben il y a les parentheses c'est sûr...

Petit nouveau ! | 4 Messages

13 mars 2007, 22:50

J'ai essayé avec
count (*)
Et ça ne marche toujours pas :
Erreur de syntaxe près de '*) AS nbre_entrees FROM user WHERE login = 'marsu15'' à la ligne 1

Mammouth du PHP | 543 Messages

13 mars 2007, 22:50

Par contre faut pas d'espace entre count et la parenthese hein !

Mammouth du PHP | 543 Messages

13 mars 2007, 22:52

en programmation on ne met habituellement pas d'espace entre le nom d'une fonction et la parenthese ouvrante. Apres les variables dans la parenthese peuvent avoir des espaces entre, mais pas avant la parenthese. En sql c'est pareil ;)

Petit nouveau ! | 4 Messages

13 mars 2007, 22:54

Ah oui ça marche, merci beaucoup raptor. Je ferais attention à partir de maintenant...

Mammouth du PHP | 543 Messages

13 mars 2007, 22:58

De rien, bonne continuation.