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

Signaler
Messages postés
105
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
14 février 2013
-
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
-
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

6 réponses

Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
" $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.
}
?>
Messages postés
214
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
4
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
Messages postés
105
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
14 février 2013
2
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

 
Messages postés
47
Date d'inscription
jeudi 24 novembre 2005
Statut
Membre
Dernière intervention
13 août 2007

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++
Messages postés
105
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
14 février 2013
2
c'est ce que je fait en faite, je vais mettre tout le code ... peut etre que cela vient d'aure part !





Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
" $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 :)