Mon script plante..error sql syntax.
hinda87
Messages postés
35
Statut
Membre
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,
mon script plante il menvoie l'erreur suivante:'"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 '&& prenom =' at line 1"
et jarrive plus a detecter lerreur ni dou elle vient!
pouvez vous maider svp. voici un extrait de mon code::
mon script plante il menvoie l'erreur suivante:'"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 '&& prenom =' at line 1"
et jarrive plus a detecter lerreur ni dou elle vient!
pouvez vous maider svp. voici un extrait de mon code::
<?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 ='. $nom .' && prenom ='. $prenom .'')or die(mysql_error());
$donnees = mysql_fetch_array($reponse);
}
else
{ mysql_connect("localhost", "root", "");
mysql_select_db("tests");
$mot_de_passe = "";
$nom = "";
$prenom = "";
$reponse = mysql_query('SELECT mot_de_passe FROM visiteurs WHERE nom ="" AND prenom =""')or die(mysql_error());
$donnees = mysql_fetch_array($reponse);
}
if ($donnees['mot_de_passe'] == $mot_de_passe)
{
A voir également:
- Mon script plante..error sql syntax.
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Mon telephone plante que faire - Guide
- Plante - Guide
- Zut, l’onglet a planté… ✓ - Forum Mozilla Firefox
12 réponses
Bonjour,
Essaie ceci :
<?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);
}
else
{ mysql_connect("localhost", "root", "");
mysql_select_db("tests");
$mot_de_passe = "";
$nom = "";
$prenom = "";
$reponse = mysql_query('SELECT mot_de_passe FROM visiteurs WHERE nom ="" AND prenom =""')or die(mysql_error());
$donnees = mysql_fetch_array($reponse);
}
if ($donnees['mot_de_passe'] == $mot_de_passe)
{
Essaie ceci :
<?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);
}
else
{ mysql_connect("localhost", "root", "");
mysql_select_db("tests");
$mot_de_passe = "";
$nom = "";
$prenom = "";
$reponse = mysql_query('SELECT mot_de_passe FROM visiteurs WHERE nom ="" AND prenom =""')or die(mysql_error());
$donnees = mysql_fetch_array($reponse);
}
if ($donnees['mot_de_passe'] == $mot_de_passe)
{
merci pr votre reponse!
g essayé le code avec la modification mais cette fois ci ,il nexecute point les boucles!
ce code a enfin pr objectif dafficher 2 pages .la 2eme aprés vérification du mot de passe posté dans la 1ere, avec celui
ds la BDD "tests".
le résultat mtn est laffichage des 2 pages en une seule!!!!!!!!!!!!!!!!!!!!!!
si vous pouvez detecter lerreur :( jen seré vraimen ravie::
i
g essayé le code avec la modification mais cette fois ci ,il nexecute point les boucles!
ce code a enfin pr objectif dafficher 2 pages .la 2eme aprés vérification du mot de passe posté dans la 1ere, avec celui
ds la BDD "tests".
le résultat mtn est laffichage des 2 pages en une seule!!!!!!!!!!!!!!!!!!!!!!
si vous pouvez detecter lerreur :( jen seré vraimen ravie::
<!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>
<fieldset>
<legend><strong>Vos coordonnées:</strong></legend>
<form action="titre.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']) && 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);
//$reponse = mysql_query('SELECT mot_de_passe FROM visiteurs WHERE nom ='. $nom .' && prenom ='. $prenom .'')or die(mysql_error());
}
else
{ mysql_connect("localhost", "root", "");
mysql_select_db("tests");
$mot_de_passe = "";
$nom = "";
$prenom = "";
$reponse = mysql_query('SELECT mot_de_passe FROM visiteurs WHERE nom ="" AND prenom =""')or die(mysql_error());
$donnees = mysql_fetch_array($reponse);
}
if ($donnees['mot_de_passe'] == $mot_de_passe)
{
?>
<!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">
<p>
<fieldset>
<legend><strong>.......</strong> :</legend>
...............
</fieldset>
<input type="submit" value="Valider" /> <br />
</p>
</form>
</body>
</html>
<?php
}
?>
i
Salut,
Tu dois ajouter un :
while($var = mysql_fetch_array($sqlquery))
{
donnée ici
}
;)
exemple
$sql = mysql_query( 'SELECT `salut`, `lol` FROM `test` WHERE `test` =\'1\' LIMIT 10 ' );
while($row = mysql_fetch_array($sql))
{
echo "{$row['salut']}<br />";
}
va afficher :
donnée<br />
donnée<br />
donnée<br />
donnée<br />
donnée<br />
donnée<br />
donnée<br />
donnée<br />
donnée<br />
donnée<br />
voila ++
Tu dois ajouter un :
while($var = mysql_fetch_array($sqlquery))
{
donnée ici
}
;)
exemple
$sql = mysql_query( 'SELECT `salut`, `lol` FROM `test` WHERE `test` =\'1\' LIMIT 10 ' );
while($row = mysql_fetch_array($sql))
{
echo "{$row['salut']}<br />";
}
va afficher :
donnée<br />
donnée<br />
donnée<br />
donnée<br />
donnée<br />
donnée<br />
donnée<br />
donnée<br />
donnée<br />
donnée<br />
voila ++
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
l prblme nest pas ds la requete !!!! mais ds laffichage: car ma table ne contien que 2 elements!
j voi po vrémen ou se situe l prblme! pouvez vous jeter un otre coup doeil sur lensemble du code...
j voi po vrémen ou se situe l prblme! pouvez vous jeter un otre coup doeil sur lensemble du code...
Salut,
C'est quoi tu veux faire au faîte ? Je vois aucun while, mais tu veux obtenir TOUS les infos ? Il ne faut pas mettre deux mysql_fetch_array() dans la même page, si tu veux voir si tes info existe essaie un where + limit et ensuite un mysql_num_rows() ... Je comprends plus rien, soit précis.
Cordialement,
C'est quoi tu veux faire au faîte ? Je vois aucun while, mais tu veux obtenir TOUS les infos ? Il ne faut pas mettre deux mysql_fetch_array() dans la même page, si tu veux voir si tes info existe essaie un where + limit et ensuite un mysql_num_rows() ... Je comprends plus rien, soit précis.
Cordialement,
comment ca ts les infos!
j vous ai di que lobjectif voulu de mon code est d'afficher 2 pages la 1ere contenant un formulaire pr lauthentification .puis le passage a la 2eme page aprés verification des coordonnées postées avec celles qui existe deja ds la base de données! c tt. é merci bcp pr ton aide:
j vous ai di que lobjectif voulu de mon code est d'afficher 2 pages la 1ere contenant un formulaire pr lauthentification .puis le passage a la 2eme page aprés verification des coordonnées postées avec celles qui existe deja ds la base de données! c tt. é merci bcp pr ton aide:
SVP essaie de bien écrire le français, j'aime pas le sms sa me fait ch***. Sinon, là le problème c'est que quand tu va sur ta page, tu vois les deux page en même temps, c'est sa (lors de la validation) ?
Signature non conforme ==> Supprimée
Modération CCM
Signature non conforme ==> Supprimée
Modération CCM
je vous ai juste expliqué l'objectif voulu du code! c'est qu'il doit afficher deux pages :la première pour l'authentification et le passage à la deuxième page se fait en vérifiant si ces coordonnées (postées par l'utilisateur) correspondent à celles déjà existées dans une table de la base de données 'tests'.
j'ai modifié un peu le script :il m'envoie cette fois-ci l'erreur: Unknown column 'hind' in 'where clause'
si je m'authentifie avec hind par exemple/
j'ai modifié un peu le script :il m'envoie cette fois-ci l'erreur: Unknown column 'hind' in 'where clause'
si je m'authentifie avec hind par exemple/
Salut,
tu as qqs erreurs dans ta requette il faut des ' pour la comparaison et des AND à la place des &&
ensuite tu as deux fois les balises DOC TYPE et <html body dans la même page
je t'ai un peu refondu ton code essayes comme ça:
tu as qqs erreurs dans ta requette il faut des ' pour la comparaison et des AND à la place des &&
ensuite tu as deux fois les balises DOC TYPE et <html body dans la même page
je t'ai un peu refondu ton code essayes comme ça:
<!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>
<?php
//init variables de travail
$valid=false;
$msg="";
//test si le formulaire d'identif a été posté
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());
mysql_close();
if(mysql_num_rows($reponse)==1){
$donnees = mysql_fetch_array($reponse);
if ($donnees['mot_de_passe'] == $mot_de_passe) {
$valid=true;
//c'est ok on affiche la suite
?>
<form action="....php" method="post">
<p>
<fieldset>
<legend><strong>.......</strong> :</legend>
...............
</fieldset>
<input type="submit" value="Valider" /> <br />
</p>
</form>
<?php
}else{
$msg="mot de passe incorrect";
}
}else{
$msg="Nom et/ou prenom non trouvé";
}
}
if ($valid==false){
?>
<fieldset>
<legend><strong>Vos coordonnées:</strong></legend>
<form action="titre.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>
<?php
if($msg != ""){echo "<font color='red'>".$msg."</font>";
?>
</fieldset>
<p>
<input type="submit" value="Valider" />
<input type="reset" />
</p>
<?php
}
?>
</body>
</html>