Unknown column ' ' in 'where clause'
hinda87
Messages postés
35
Statut
Membre
-
hinda87 Messages postés 35 Statut Membre -
hinda87 Messages postés 35 Statut Membre -
Bonjour,
le code suivant m'envoie l'erreur Unknown column ' ' in 'where clause' si je m'authentifie avec hind par exemple dans un formulaire
<?php
if (isset($_POST['mot_de_passe']) && isset($_POST['nom']) && isset($_POST['prenom']))
{ mysql_connect("localhost", "root", "");
mysql_select_db("tests");
$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
$prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
$mot_de_passe = mysql_real_escape_string(htmlspecialchars($_POST['mot_de_passe']));
$reponse = mysql_query('SELECT mot_de_passe FROM visiteurs WHERE nom ='. addslashes($nom) .' && prenom ='. addslashes($prenom) .'')or die(mysql_error());
$donnees = mysql_fetch_array($reponse);
le code suivant m'envoie l'erreur Unknown column ' ' in 'where clause' si je m'authentifie avec hind par exemple dans un formulaire
A voir également:
- Unknown column ' ' in 'where clause'
- Aux in ✓ - Forum Enceintes / HiFi
- Dc in - Forum Disque dur / SSD
- Navigation in private - Guide
- Girl in the basement streaming vf - Forum Cinéma / Télé
- Peut-on brancher un casque sur une prise auxiliaire ? - Forum Casque et écouteurs
4 réponses
Il faut entourer les valeurs avec des guillemets et remplacer "&&" par "AND" :
if (isset($_POST['mot_de_passe']) && isset($_POST['nom']) && isset($_POST['prenom']))
{
mysql_connect("localhost", "root", "");
mysql_select_db("tests");
$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
$prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
$mot_de_passe = mysql_real_escape_string(htmlspecialchars($_POST['mot_de_passe']));
$reponse = mysql_query('SELECT mot_de_passe FROM visiteurs WHERE nom ="'. addslashes($nom) .'" AND prenom ="'. addslashes($prenom) .'"') or die(mysql_error());
$donnees = mysql_fetch_array($reponse);
Jean-François Pillou
Fondateur de CommentCaMarche.net
merci jeff! il m'envoie aucune erreur pour le moment à l'affichage mais il n'exucute pas les boucles! ie il permet pas d'afficher la deuxieme page qui doit etre affichée aprés l'authentification :(
je t'explique comme je l'ai fait tout à l'heure : mon code doit afficher deux pages la premiere pour l'authentification et le passage a la deuxieme page se fait en vérifiant que les coordonnées postées par l'utilisateur dans la premiere sont les memes que celles existées dans une base de donnée
je t'explique comme je l'ai fait tout à l'heure : mon code doit afficher deux pages la premiere pour l'authentification et le passage a la deuxieme page se fait en vérifiant que les coordonnées postées par l'utilisateur dans la premiere sont les memes que celles existées dans une base de donnée
Enlève sa mysql_real_escape_string ...
Signature non conforme ==> Supprimée
Modération CCM
Signature non conforme ==> Supprimée
Modération CCM
voici mon code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Page protégée par mot de passe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<fieldset>
<legend><strong>Vos coordonnées:</strong></legend>
<form action="...;.php" method="post">
<p>
<label for="prenom"><strong>votre prenom</strong></label> :<br /> <input type="text" name="prenom" id="prenom" />
</p>
<p>
<label for="nom"><strong>Votre nom</strong></label>:<br /> <input type="text" name="nom" id="nom" />
</p>
<p>
<label for="password"><strong>Votre mot de passe</strong></label> :<br /> <input type="password" name="mot_de_passe" id="pseudo" />
</p>
</fieldset>
<p>
<input type="submit" value="Valider" /> <input type="reset" />
</p>
</form>
</body>
</html>
<?php
if (isset($_POST['mot_de_passe']) AND isset($_POST['nom']) AND isset($_POST['prenom'])) // Si la variable existe
{
if ($_POST['prenom'] != NULL AND $_POST['mot_de_passe'] != NULL AND $_POST['mot_de_passe'] != NULL)
{ mysql_connect("localhost", "root", "");
mysql_select_db("tests");
$nom = ($_POST['nom']);
$prenom = ($_POST['prenom']);
$mot_de_passe = ($_POST['mot_de_passe']);
$reponse = mysql_query('SELECT mot_de_passe FROM visiteurs WHERE nom =". addslashes($nom) ." && prenom =". addslashes($prenom) ."')or die(mysql_error());
$donnees = mysql_fetch_array($reponse);
while ($donnees['mot_de_passe'] == $mot_de_passe)
{ mysql_close();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>..</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<form action="...php" method="post">
...........
</body>
<?php
}
}
}
?>