Error in your SQL syntax (peut pas faire mieux ^^)

Skoobidoo
Invité n'ayant pas de compte PHPfrance

18 sept. 2005, 17:44

Bonjour, j'ai ce problème là qui s'affiche lorsque je cherche à lancer une session.



Voici le code de la page :
<?php 
// ON inclut le fichier de configuration 
require ("config.php"); 

//on se connecte à la base de donnée
$db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion");

//sélection de votre base de donnée
mysql_select_db($mysql_base,$db) or die ("erreur de connexion
base");

// On selectionne quand le champs login correspond au login entré 
// et le champs passe au pass entré. 
$sql = "SELECT * FROM lao_membres WHERE login=$login, pass=$pass"; 

// On execute la requête de selection 
$res = mysql_query($sql) or die(mysql_error()); 

// On compte le nombre de ligne des resultats 
// 1 : si valide 0 si aucun login ne correspond 
$exist = mysql_numrows($res); 

// Si la variable $exist = 0 --> login inexistant ou faux pass 
if(!$exist) { 
    // On affiche ce message d'erreur 
    echo "<center>Veuillez vérifier vos données</center>"; 
     
    // On inclut le formulaire d'identification 
    include("formulaire.php"); 
} 

// Sinon, si le login et pass sont valides 
else {

// On ouvre la session 
session_start(); 

// On enregistre la variable login qu'on fera passer sur ttes les pages 
// ATTENTION : Notez bien l'absence de $ devant login 
session_register("login"); 

// On affiche un message de bienvenu 
echo "<center>Bienvenu sur votre espace membre : $login</center>"; 
   
// définissons d'abord les variables 
$sess_nom = session_name(); 
$sess_id = session_id(); 
     
// Affichons si on veut le nom est l'id de la session 
echo "Le nom de la session est :<br> ";
echo $sess_nom." et l'Id est : ".$sess_id."";
     
// On affiche maintenant un lien vers une page d'essai 
echo "<a href=\"page.php\">Page Essai</a>"; 
     
// A la fin on offre au membre la possibilité de se deconnecter 
echo "<a href=\"deconexion.php\">Deconnection</a>"; 
} 

?>
Moi je ne vois pas d'ou ca vient. QQn a t il une idée?? Merci
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 ' pass=123' at line 1

HD
Mammouth du PHP | 1181 Messages

18 sept. 2005, 17:51

login=$login AND pass=$pass
au lieu de
login=$login, pass=$pass
:?:
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 sept. 2005, 17:51

Salut, erreur SQL, tu as mis une virgule a la place d'un "AND" entre login et pass:

Code : Tout sélectionner

$sql = "SELECT * FROM lao_membres WHERE login=$login AND pass=$pass";

HD
Mammouth du PHP | 1181 Messages

18 sept. 2005, 17:52

trop tard petit truc :wink:
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 sept. 2005, 17:53

:sleeping: je me réveille seulement :wink:

Skoobdoo
Invité n'ayant pas de compte PHPfrance

18 sept. 2005, 17:54

Oui je viens de trouver merci mais il affiche cela maintenant :
Unknown column 'admin' in 'where clause'

HD
Mammouth du PHP | 1181 Messages

18 sept. 2005, 17:55

1- donne le message d'erreur complet (numero de la ligne surtout)
2- on n'a pas d'admin dans ton code donc on n'a pas tout le code donc donne nous tout le code ou explique ou t'as deniché ton admin
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Skoobidoo
Invité n'ayant pas de compte PHPfrance

18 sept. 2005, 17:56

LoL, le message est complet là ^^

"admin" est le pseudo que je veux retrouver dans ma base de donnée

HD
Mammouth du PHP | 1181 Messages

18 sept. 2005, 18:01

verifie si admin te permet existe vraiment dans ta bd (regarde dans phpmyadmin)
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Skoobidoo
Invité n'ayant pas de compte PHPfrance

18 sept. 2005, 18:02

Oui oui phpmyadmin est ouvert, il existe bien, les autre inscrits fotn de meme quand je les testes.

Je ne vois pas en quoi mon Where n'est pas bon :(

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 sept. 2005, 18:05

essaie comme ceci:
$sql = 'SELECT * FROM lao_membres WHERE login="'.$login.'" AND pass="'.$pass.'"';
et as tu aussi un champ nomé "login" ?!?

HD
Mammouth du PHP | 1181 Messages

18 sept. 2005, 18:06

login='$login' AND pass='$pass' 
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 sept. 2005, 18:12

prems ce coup ci :langue:

Skoobidoo
Invité n'ayant pas de compte PHPfrance

18 sept. 2005, 18:12

Ca marche, merci beaucoup de votre aidre @+

HD
Mammouth du PHP | 1181 Messages

18 sept. 2005, 18:17

encore une affaire resolue mon cher watson_truc :D
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]