Page 1 sur 2

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

Posté : 18 sept. 2005, 17:44
par Skoobidoo
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

Posté : 18 sept. 2005, 17:51
par HD
login=$login AND pass=$pass
au lieu de
login=$login, pass=$pass
:?:

Posté : 18 sept. 2005, 17:51
par Truc
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";

Posté : 18 sept. 2005, 17:52
par HD
trop tard petit truc :wink:

Posté : 18 sept. 2005, 17:53
par Truc
:sleeping: je me réveille seulement :wink:

Posté : 18 sept. 2005, 17:54
par Skoobdoo
Oui je viens de trouver merci mais il affiche cela maintenant :
Unknown column 'admin' in 'where clause'

Posté : 18 sept. 2005, 17:55
par HD
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

Posté : 18 sept. 2005, 17:56
par Skoobidoo
LoL, le message est complet là ^^

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

Posté : 18 sept. 2005, 18:01
par HD
verifie si admin te permet existe vraiment dans ta bd (regarde dans phpmyadmin)

Posté : 18 sept. 2005, 18:02
par Skoobidoo
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 :(

Posté : 18 sept. 2005, 18:05
par Truc
essaie comme ceci:
$sql = 'SELECT * FROM lao_membres WHERE login="'.$login.'" AND pass="'.$pass.'"';
et as tu aussi un champ nomé "login" ?!?

Posté : 18 sept. 2005, 18:06
par HD
login='$login' AND pass='$pass' 

Posté : 18 sept. 2005, 18:12
par Truc
prems ce coup ci :langue:

Posté : 18 sept. 2005, 18:12
par Skoobidoo
Ca marche, merci beaucoup de votre aidre @+

Posté : 18 sept. 2005, 18:17
par HD
encore une affaire resolue mon cher watson_truc :D