Probleme MYSQL c'est simple m'ais j'jy arrive pas
Forum Programmation : Probleme MYSQL c'est simple m'ais j'jy arrive pas
je sais, c'est pas la 1er foit que je fait ch** le monde avec mais probleme php ! mais j'ai un nouveau casse tête pour vous ! alors j'ai creer un scripte pour ma newsletter, biensur le sql foir, alors voici se que sa m'affiche :
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 '@hotmail.fr' at line 1
(traduction : Vous avez une erreur en votre syntaxe de SQL vérifiez le manuel qui correspond à votre version de serveur de MySQL pour la bonne syntaxe à l'utilisation près '@hotmail.fr 'à la ligne 1)
c'est grave docteur ? :-)
alor sis je comprend bien, sa bug quand jenvoit l'adresse e-mail a la base sql, qui ne comprend pas le @hotmail.fr qui est la suit de l'adresse e mail, alor je sais que c'est un truc simple m'ai jais pas trouver la soluce ! :-(
merci d'avance !
hont sur moi ! je fait un up ! je sais je sais !
je sais pas si c ça mais peut etre que ton PHP interprete mal ton @ il faudrait peut etre le faire précéder de \ pour ne pas qu'il le prenne comme un caractère illégal. Il me semble que le @ sert en PHP à ne pas afficher les erreurs!
enfin je crois....essaye toujours!
merci, mais j'ai fait gaffe a cette erreure en fesant :
$email = addslashes($_POST['email']);
ah mais attend, je vien de decouvrire que j'ai fait une erreure monumentale...
maleureusement : 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 '@hotmail.com' at line 1 toujour et encore, je comprend pas, avec addslah sa devret rajouter les slash non ?
je sais pas je connais pas :$
essaye avc les \ on ne sait jms!!!
snif snif
maitenan sa maffiche pyrra2000/@hotmail.comUnknown column 'pyrra2000' in 'where clause'
la c'est trop !!! j'en peu plus !!
Si tu nous file pas le scriptn on pourra pas trop t'aider ...
Ecoute pyrra, donne nous ta requete MYSQL. Sinon on n'est mal barré pour te répondre
pas de pro même la page :
<?php
echo $email;
if (isset($_POST['email']))
{
if (preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $_POST['email']))
{
if ($_POST['email'] != NULL)
{
mysql_connect("localhost", "*****", "******" );
mysql_select_db("*****" );
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM newsletter WHERE email=' . $_POST['email'] . '') or die(mysql_error());
$donnees = mysql_fetch_array($retour);
if ($donnees['nbre_entrees'] == 0)
{
$email = addslashes($_POST['email']);
mysql_query('INSERT INTO newsletter VALUES(' . $email . ')');
echo "Merci de vous etre inscrit a la newsletter de mmorpg-gratuits.com !";
}
else
{
?>
<font color="red">Cette e-mail est deja utiliser !</font>
<br>
<form action="http://www.mmorpg-gratuits.com<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="newsletter">
votre E-mail :
<input name="email" type="text" size="15" maxlength="30"><br>
<input name="submit" type="submit" value="inscription">
</form>
<?php
}
mysql_close();
}
else
{
?>
<font color="red">L'adresse e-mail n'est pas valide !</font>
<br>
<form action="http://www.mmorpg-gratuits.com<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="newsletter">
votre E-mail :<br>
<input name="email" type="text" size="15" maxlength="30"><br>
<input name="submit" type="submit" value="inscription">
</form>
<?php
}
}
}
else
{ ?>
<form action="http://www.mmorpg-gratuits.com<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="newsletter">
votre E-mail :<br>
<input name="email" type="text" size="15" maxlength="30"><br>
<input name="submit" type="submit" value="inscription">
</form>
<?php }
?>
voila, biensur les coordoner de la base ne sont pas **** (pour les boulet) et cette page est une include
voila jesperet avoiure unre reponse demain matin merci beaucoup ! et bonne nuit les enfants !
aufaite je sais addslahes et faut la, mais c car je lavais suprimer de ma page, donc ej les remit a larache sur le topic (je me rapelle plus comment il secrit
il n'y a pas de cotes autour de tes valeurs de type chaine. Les valeurs sont donc interprétées comme du code sql ...
'SELECT COUNT(*) AS nbre_entrees FROM newsletter WHERE email=\'' . $_POST['email'] . '\''
mysql_query('INSERT INTO newsletter VALUES(' . $email . ')');
il faudrait pas faire :
mysql_query('INSERT INTO newsletter (id,mail) VALUES('',' . $email . ')');
| Citation :
|
Presque
mysql_query("INSERT INTO newsletter (id,mail) VALUES('','" . $email . "')" );
a ouia merci beaucoup ! je vais voir si sa marche !! mais aussi c'est
mysql_query("INSERT INTO newsletter (mail) VALUES(" . $email . "')" ); car j'ai pas d'id (jen voit pas lutiliter) aufaite, je connais le code pour envoyer un e mail, mais les destinataire, je doit les separer par qu'oi ?
MERCI BEAUCOUP §§§ SA MARCHE ! trop happy !! :-D :-D :-D :-D :-D :-D
non ceci n'est pas un flood (desoler mais c'est pour prevenire que je fait un autre message) donc : maitenan j'ai un probleme : je n'arrive pas a empehcer qune personne puisse mettre sont adresse e mlail plusieur foit
------
finalement non j'y arrive desoler bon ben
et merci a tous pour votre aide !
Il y a 1543 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

okinou