Erreur sql: syntax mail
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
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
Merci pour ton aide ! ça marche parfaitement :) !