Erreur php : le query est vide [Résolu]

Messages postés
105
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
14 février 2013
- - Dernière réponse : FhX
Messages postés
2368
Date d'inscription
mercredi 13 octobre 2004
Dernière intervention
18 avril 2015
- 12 janv. 2006 à 16:59
Bonjour, j'ai un probleme sur un script tout con mais je ne voi pas d'ou ca peu vennir ... :oops:





ca doit pas etre tres compliqué !! ce bout de code verifi juste si une adrese mail existe deja sur une table !! help !!!






$sql = "SELECT mail_entreprise FROM entreprise WHERE mail_entreprise='$_POST[mail]'";

$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());

$data = mysql_fetch_array($req);



if($data['mail']==$mail){

        echo '<script
language=javascript> alert ("Cette adresse e-mail &#224; d&#233;j&#224; &#233;t&#233;
inscrite !");</script>';

        echo '<SCRIPT
LANGUAGE="JavaScript">document.location.href="../index.php?erreur=0"</SCRIPT>';

        exit;

}





et voila l'erreur produite :




Erreur SQL !

SELECT mail_entreprise FROM entreprise WHERE mail_entreprise='m@m.m'

Query est vide







merci d'avance
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
2368
Date d'inscription
mercredi 13 octobre 2004
Dernière intervention
18 avril 2015
3
3
Merci
" $sql = "SELECT mail_entreprise FROM entreprise WHERE mail_entreprise='$_POST[mail]'";"
On utilise $_POST['mail'] et pas $_POST[mail]. voila pourquoi ca ne marche pas.

$sql = "SELECT mail_entreprise FROM entreprise WHERE mail_entreprise='".$_POST['mail']."' ";

Par contre, pour vérifier si une adresse est déja existante, tu as plus simple :

<?php$sql "SELECT COUNT(*) FROM entreprise WHERE mail_entreprise '".$_POST['mail']."' ";
$query = mysql_query($sql);
$data = mysql_fetch_row($query);
if ( $data[0] === 1 ) {
// Mail déja existant
}else {
// Mail non existant.
}
?>

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 88 internautes nous ont dit merci ce mois-ci

Commenter la réponse de FhX
Messages postés
215
Date d'inscription
mercredi 2 février 2005
Dernière intervention
9 avril 2010
6
0
Merci
Hello ,
C'est une erreur de syntaxe ... utilise :mail_entreprise = "'.$_POST['mail'].'"

mais FhX ... m'a devancé ....

*********** Si cette réponse vous convient, merci de valider ce post ***********

ChaPaTa
Commenter la réponse de cs_chapata
Messages postés
105
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
14 février 2013
1
0
Merci
je vien de teter mais ca ne marche toujours pas...

je ne pense pas que l'erreur viien de la car le requete qui est
reafich dans le message d'erreur est bonne et fonction bien seul dans
le sgbd


 Erreur SQL !

 SELECT mail_entreprise FROM entreprise WHERE mail_entreprise='m@m.m'

 Query est vide

 
Commenter la réponse de mictif
Messages postés
47
Date d'inscription
jeudi 24 novembre 2005
Dernière intervention
13 août 2007
0
Merci
salut,
pourquoi ne pas dire
SELECT mail_entreprise FROM entreprise WHERE mail_entreprise='nomdelavariablede ton formulaire';
ex: $email =$_post['mail'];
tu dois tester sur $email par sur $_post...
a++
Commenter la réponse de takai
Messages postés
105
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
14 février 2013
1
0
Merci
c'est ce que je fait en faite, je vais mettre tout le code ... peut etre que cela vient d'aure part !





Commenter la réponse de mictif
Messages postés
2368
Date d'inscription
mercredi 13 octobre 2004
Dernière intervention
18 avril 2015
3
0
Merci
" $sql = "SELECT nom_entreprise FROM entreprise WHERE nom_entreprise='".$login."'";"

Je viens de te dire qu'il ne fallait pas faire comme ca !!!!!
$sql "SELECT COUNT(*) FROM entreprise WHERE nom_entreprise '".$login."' ";
$q = mysql_query($sql);
$data = mysql_fetch_row($q);
if ( $data[0] === 1 ) { // Entreprise déja existante
} else { // Non existante
}

Pareil pour le mail !

Par contre, au tout début, fait un trim sur tes variables.
$login = trim($_POST['login']);
$mail = trim($_POST['mail']);
Et pour vérifier si une variable n'est pas vide :
if ( empty($mail) ) { // mail vide }
if ( empty($login) ) { // login vide }

Mais tu as oublié de faire un isset() sur tes variables $_POST[] au début ! Il est possible que l'erreur vienne de la.
if ( isset($_POST['login'], $_POST['mail'], $_POST['password']) ) {
$login = trim ($_POST['login'];
$mail = trim ($_POST['mail']);
$password = trim($_POST['password']);
} else {
die ('Erreur, les variables ne sont pas toutes passées correctement !');
}

Essaye avec ce que je viens de te mettre :)
Commenter la réponse de FhX

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.