Erreur SQL !

troly Messages postés 197 Statut Membre -  
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je voudrais savoir ce qui ne vas pas dans mon script en php car cela me met :
Erreur SQL !
SELECT COUNT (*) FROM pseudomdp WHERE pseudo = uzumaki
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*) FROM pseudomdp WHERE pseudo = uzumaki' at line 1

voici mon code php:

<?php
$pseudo=$_POST['pseudo'];
// connexion à la base
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base

mysql_select_db('info',$db) or die('Erreur de selection '.mysql_error());

$sql = "SELECT COUNT (*) FROM pseudomdp WHERE pseudo = ".$pseudo."";
$req = mysql_query ($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$nbr = mysql_fetch_assoc ($req) ;
if ($nbr = 0)
{
echo 'ok';
}
else
{
echo 'non';
include ('login.htm');
}
?>
Merci de répondre !



Je suis le meilleur au monde dans ce que je fait (enfin je crois!)

10 réponses

Utilisateur anonyme
 
Non, plutôt :
$sql = "SELECT * FROM pseudomdp WHERE pseudo = '".$pseudo."';"; 
0
lofawu Messages postés 103 Date d'inscription   Statut Membre Dernière intervention   9
 
C'est pareil, ça dépend de la version du PHP ....
0
troly Messages postés 197 Statut Membre 60
 
ça ne marche pas ghuysmans99
et seby la syntax est correct mais cela m'affiche toujours le mot "non" avec le formulaire pour mettre le pseudo (login.htm)
0
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
En même temps ça n'a aucun sens de comparer un tableau à 0. Tu ne demandes pas de mot de passe sur ton form ?
0

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

Posez votre question
troly Messages postés 197 Statut Membre 60
 
Si je demande un mot de passe mais ce n'est qu'un test (je débute)
j'ai trouvé la réquete sql mais maintenant cela me met parse error on line 21 sauf que la ligne 21 est la ligne où il y a le "?>" (je ne comprend pas)
0
HostOfSeraphim Messages postés 7340 Statut Contributeur 1 608
 
Si tu débutes :

Pour être certain que ta requête SQL soit bien construite, fais un echo dessus :

<?php echo $sql; ?>

Ainsi, si il manque des valeurs, ou si elles sont incorrectes, tu le verras.

Tu peux aussi tester la requête elle-même sur la base pour vérifier qu'elle retourne bien des données.

0
Utilisateur anonyme
 
Envoie moi par email l'entièreté du code php de cette partie là et je te le corrige !
0
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
$mdp=$_POST['mdp']; $sql = "SELECT id FROM pseudomdp WHERE pseudo='$pseudo' AND mdp='$mdp';"; if (mysql_num_rows(mysql_query($sql)) echo("ok"); else echo("pas bon");
0
troly Messages postés 197 Statut Membre 60
 
ghuyman ce que je veux faire c'est pas faire un login ce que je veux faire c'est vérifier si le pseudo existe déjâ !
0
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
Okay ... Ceci devrait aller :
<?php
// connexion à la base
$db = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('info',$db) or die(mysql_error());

// récupération du champ
$pseudo = $_POST['pseudo'];

// exécution de la requête
$sql = "SELECT pseudo FROM pseudomdp WHERE pseudo = '$pseudo';";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$nbr = mysql_fetch_assoc($req);

if ($nbr == 0)
	echo 'ok';
else
{
	echo 'non';
	include ('login.htm');
}
?> 
0
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   340
 
$sql = "SELECT COUNT (*) FROM pseudomdp WHERE pseudo = '$pseudo';"; 
Et attention à l'injection SQL !
Google is your best friend
VB.NET is good ... VB6 is better !
-1