Erreur sql: syntax mail

Rechercher

Erreur sql: syntax mail

Par arbilus  -  2 reponses  -  Le 20/10/2010 14:54  -  Editer  - 

Bonjour, j'ai ce message d'erreur depuis que j'ai fait quelques modifs à un de mes scripts:

Erreur SQL !

SELECT id FROM **_users WHERE **_email = ***|**@gmail.com

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 '@gmail.com' at line 1

Je ne comprend pas pourquoi .

Voila la requète:

$sql1 = 'SELECT id FROM **_users WHERE **_email =  '.mysql_real_escape_string($_SESSION['logged']).'';$req1 = mysql_query($sql1) or die('Erreur SQL !<br />'.$sql1.'<br />'.mysql_error());$idd = mysql_fetch_array($req1);

 

Le but c'est que quand le type se connecte on récupère son adresse email (utilisée pour de la connexion) dans une session php puis on utilise cette adresse email pour trouver l'id du membre afin d'activer d'autres requètes etc..

De plus (mais c'est pas vraiment le problème), j'ai essayé de crypter le mail lors de la création de la session:

session_start();        $_SESSION['logged'] = md5($qmail["**_email"]);        header('Location: **/index.php');                // ici l'espace membre        exit();

 

Mais si je fait ça, 1 j'ai toujours le message d'erreur en amont, ET 2, il m'indique [cpp]WHERE **_email = xKejhhgs7876$%[/cpp] etc.. Où xKejhhgs7876$% est la version cryptée du mail .. Bref, j'aimerais ne plus avoir ce message et savoir comment (si c'est possible) récupérer la version "décryptée" (les guillements car je sais que ce n'est pas possible de décrypter du md5) de la valeur dans le session php afin de l'utiliser dans ma requete sql .

 

Réponses apportées à cette discussion

Par Cyrano  -  Le 20/10/2010 15:06  -  Haut de page  - 

Normal, c'est encore un problème de concaténation, de chanine de caractères non protégées et d'oublis ;) Observe bien, d'abord ta ligne :

$sql1 = 'SELECT id FROM **_users WHERE **_email =  '.mysql_real_escape_string($_SESSION['logged']).'';

Ok, maintenant je la ré-écris :

$sql1 = "SELECT id FROM **_users WHERE **_email =  '". mysql_real_escape_string($_SESSION['logged']) ."'";

Le jeu des erreurs, je te laisse : à gagner ? heu... mon estime, ça le fera ? :D

 

 

 
Par arbilus  -  Le 20/10/2010 16:42  -  Haut de page  - 

Merci pour ton aide ! ça marche parfaitement :) !

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |