Probleme de php ,sql et d'un mail ...

Fermé
monkey_nhk - 13 janv. 2011 à 09:36
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 - 13 janv. 2011 à 11:07
Bonjour,

alors voila je reposte une nouvel question même si la premiere personne n'a repondu on ne sait jamais peu être que celle la sucitera de l'interet à vos yeux ^^

"Erreur : 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 '@live.fr' at line 1"


alors je m 'explique :

avec les sessions j'ai recuperé le mail de mon utilisateur afin quand celui ci va cree un nouvel article est déja son nom en bas de l'article, mais bon mon astuce est que dans un champ de formulaire cacher ( type ="hidden") et une requete je puisse recupere son numero de sorte a ce qu'une fois je valide l'article je puisse par la suite faire des insertions dans mon autre table.

voici le code :

<?php
require_once('../traitement/connect.php') ;
$dt = date('d/m/Y');
  if(isset($_SESSION['login']))
  {
$mail = ($_SESSION['login']);

  }
$res=htmlentities($mail);

?>
<center>
<form action="../traitement/traite.php" method="post">


     <br/>
  </p>
  </p>
  <br />
   <p>Date :<? echo $dt;   
  echo $h;?> <input name="Date" size="1" value="<? echo $dt;?> "type="hidden"/><br/>
  <br />
   <p>Titre<br>
<input name="Titre" size="30" value="" type="text"/></p>
     <br/>
<p>Article<br><TEXTAREA name="Articles" rows=10 COLS=35 ></TEXTAREA>
</p>

  <?

$SQL = ('SELECT aut_num ,aut_auteurs FROM Auteur where aut_mail = '.$res.'');
$result = mysql_query($SQL) or die ('Erreur : '.mysql_error());
  

$v =htmlentities($result['aut_auteurs']);
echo $v;
?>
 <p style="padding-left: 28px;">Auteurs : <? echo $v;?>
  <input name="aut" size="1" value="<? echo $result['aut_num'];?> "type="hidden"/> 
 


<p>
<input name="categorie" size="1" value="<? echo $un;?> "type="hidden"/>
   
   </select>  <input name="insertion" value="ok" type="submit" />

 </form>



ps :session start est deja ecrit dans une autre page et je me sers d'un include pour faire apparaitre le code si dessus.

merci d'avance.

A voir également:

8 réponses

Laorra Messages postés 195 Date d'inscription dimanche 12 novembre 2006 Statut Membre Dernière intervention 18 juillet 2011 107
Modifié par Laorra le 13/01/2011 à 09:55
J'aurais tendance à dire que le @ gène (comme il sert en PHP à ne pas afficher les erreurs. )

Tu devrais essayer d'échapper ce cacartère spéciaux dans ta base et dans ton code à la ligne qui pose problème (avec un addslashes() par exemple).
1
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
13 janv. 2011 à 09:51
Bonjour,
As-tu testé ta reqûete sous phpmyadmin ?
Es-tu sur que tu récupères bien ton mail ?
0
bonjours,

premiere reponse oui ma requete qui est aussi simple fonctionne

deuxiemme reponse : le addslashes() me parait une piste à suivre ( meme si il me semble que c 'est pour echapper certains caractere.

même si actuellement je pense a la fonction mysql_real_escape_string .

merci de vos reponse
0
j ai utilisé le addslasches() puis par la suite la fonction que j ai citer si dessus,
le verdique est sans appel :
MySQL server version for the right syntax to use near '@live.fr' at line 1.

de ce fait je me demande si il n'est pas nécessaire de faire une sorte de convertion pour bien faire comprendre que c'est une chaine de caractere ...

enfin la je deviens limiter sur le sujet :'(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
13 janv. 2011 à 10:10
Euh c'est peut être très con ce que je vais dire,
mais ton htmlentities transforme ton @ en @ non ?
donc normal que ta requête foire ?
0
c'est ici que j ai fais des teste melooo en gros le htmlentities etait le dernier truc que j avais test on ne sait jamais le rêve n'étant pas interdit ^^!
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
13 janv. 2011 à 10:37
Bon en faite bien évidemment quand j'ai mis le code html pour un arobaz il me la transformé lol donc @ = & #64 (sans l'espace)
normalement sans le htmlentities devrait pas y avoir de bug :/
0
comme tu peux le constater en enlevant htmlentities ou en le laissant cela donne ceci http://art3misnhk.free.fr/prob.png

sniff pas cool
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
13 janv. 2011 à 10:52
Fais un echo de ta requête et poste le résultat ;)
0
j ai fais ce que tu m'as demander et il me sort :

SELECT aut_num ,aut_auteurs FROM Auteur where aut_mail =toto@live.fr

donc la je me pose des questions serieusement c'est pas normal ni anormal juste le php ^^
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
13 janv. 2011 à 10:58
héhé, c'est pour sa qu'on aime le php
essayes ca :
('SELECT aut_num ,aut_auteurs FROM Auteur where aut_mail = '".$res."');

C'est une chaine de caractères ton mail, donc tu doit mettre simple et double quote ;)
0
aut_mail = "'.$res.'"');

petit meli melooo de melooo dans ceci ^^

bon maintenant faut que je puisse les faire afficher ^^
0
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
13 janv. 2011 à 11:07
Ca fonctionne ? :)
tu veux afficher les résultats de ta requête si oui :
il te faut utiliser un while et un mysql_fetch_array ;)
0