Rechercher : dans
Par :

Erreur SQL ! You have an error in your SQL

Dernière réponse le 31 jui 2008 à 22:02:15 salimdrame, le 7 jui 2008 à 15:17:57 
 Signaler ce message aux modérateurs

Bonjour,

ça fait maintenant des jours que je me penche sur ce problème.

Ma requête me retourne :

*********************************

Erreur SQL !
SELECT * FROM MaTable

WHERE mail_contact='LeMail' AND pass='******'
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 '

WHERE mail_contact='LeMail' AND pass='******'' at line 1

***********************************

En fait mon code traite un formulaire d'identification à 3 champs dont les données recueillies vont servir pour une identification du visiteur.
Le premier champ sert à identifier la table concernée dans la BDD, les deux autres à vérifier si le couple login et mot de passe existent bien dans la table prédéfinie.

Voici une portion de mon code

**************PHP******************

mysql_connect ("", "", "");
mysql_select_db ("");

$sql = "SELECT * FROM $sigle_etab WHERE mail_contact='$mail_contact' AND pass='$pass'";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

mysql_free_result($req);
mysql_close();

// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['sigle_etab'] = $_POST['sigle_etab'];
header('Location: accueil.php');
exit();
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}

****************************************

J'ai essayé de remplacer les ' par des " et vice versa et aussi plein d'autres solutions d'aprés ce que j'ai eu à lire sur différents forums mais rien à faire. Je m'excuse d'avance si une réponse à déjà été donnée pour ce type d'erreur et vous demande de me communiquer l'emplacement si c'est le cas.
Si non, ou se trouve mon erreur, ou que dois je faire à la place?

Merci d'avance

Configuration: Windows XP
Firefox 2.0.0.15

1

doudi, le 7 jui 2008 à 17:11:00

Bonjour,

Si tu n'as pas résolu ton problème envoi moi ton script et ta bdd sur samir_bogos"at"hotmail.com

a++

Répondre à doudi

2

salimdrame, le 7 jui 2008 à 17:16:48
  • +1

J'apprécie Loudi, l'intention est noble. Mais je préfére ne pas communiquer certaines informations car le projet sur lequel je travaille est trés sensible. Cependant je peux te fournir plus d'infos de code si ca peux t'aider

Répondre à salimdrame

3

 kerghan, le 31 jui 2008 à 22:02:15

Essayes de mettre des parenthese :

$sql = "SELECT * FROM $sigle_etab WHERE (mail_contact='$mail_contact') AND (pass='$pass')";

A +

Répondre à kerghan