PHP et Mysql/mysql_query et php

Résolu
keurdange Messages postés 720 Date d'inscription   Statut Membre Dernière intervention   -  
keurdange Messages postés 720 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis entrain de programmé un site dynamique et j'aimerais vérifier à l'inscription, et grâce au formulaire, qu'un email déjà enregistré ne puisse se réinscrire à nouveau. Mais, il existe un problème au niveau de mysql_query. En effet, je ne sais pas comment utilisé l'email saisi dans la requête. Ci-dessous, vous retrouverez ce que j'ai essayé comme code mais ça me donne des erreurs du type 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 '@yahoo.fr IN (SELECT email FROM info_membres)' at line 1

Voici mon code

$bdd_1=mysql_query('SELECT email FROM info_membres WHERE ' .$_POST['email']. ' IN (SELECT email FROM info_membres)') or die(mysql_error());

Je m'en remet à la communauté de commentcamarche. :(

Merci d'avance. :D



Dieu n'a fait qu'ébaucher l'homme, c'est sur terre que chacun se crèe
A voir également:

1 réponse

MastercroW Messages postés 1094 Date d'inscription   Statut Membre Dernière intervention   163
 
Bonjour,

Tout d'abord je te conseil d'utiliser PDO, c'est bien plus sécurisé et pas moins compliquer.
Et voila ce que ça donne pour ton problème en PHP-PDO.
<?php
/* Connexion Base de donnée en PDO */
 try //Test la connexion
{
	$bdd = new PDO('mysql:host=localhost;dbname=monsters','root',''); //connexion
}
 catch (Exception $e)
{
	die('Erreur : '.$e->getMessage()); // Si la connexion échoue, on renvoie un message d'erreur au lieu d'afficher le code php
}
$bdd->exec("SET CHARACTER SET utf8");


/* Étape de la selection de l'email en base de donnée */

	$req = $bdd->prepare('SELECT email FROM info_membres WHERE email = ?');
	$req ->execute(array($_POST['email']));
	$resultats = $req ->fetch();
		
 if ($_POST['email'] == $resultats['email'])
{
echo 'Adresse e-mail déjà utilisé';
}

 else 
{
// Etape suivante	
}
?>
1
keurdange Messages postés 720 Date d'inscription   Statut Membre Dernière intervention   231
 
Merci, ça marche à merveille. mais, il y a un truc, dans le code, que je ne comprend pas : $resultat=$req->fetch() lit les entrées ligne par ligne et créé un nouveau tableau??? quelle est l'importance de mettre ['email'] dans $resultat['email']
0