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

mictif 105 Messages postés lundi 13 décembre 2004Date d'inscription 14 février 2013 Dernière intervention - 12 janv. 2006 à 14:10 - Dernière réponse : FhX 2368 Messages postés mercredi 13 octobre 2004Date d'inscription 18 avril 2015 Dernière intervention
- 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 

6 réponses

Répondre au sujet
FhX 2368 Messages postés mercredi 13 octobre 2004Date d'inscription 18 avril 2015 Dernière intervention - 12 janv. 2006 à 14:37
+3
Utile
" $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.
}
?>
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de FhX
cs_chapata 215 Messages postés mercredi 2 février 2005Date d'inscription 9 avril 2010 Dernière intervention - 12 janv. 2006 à 14:40
0
Utile
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
mictif 105 Messages postés lundi 13 décembre 2004Date d'inscription 14 février 2013 Dernière intervention - 12 janv. 2006 à 15:03
0
Utile
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
takai 47 Messages postés jeudi 24 novembre 2005Date d'inscription 13 août 2007 Dernière intervention - 12 janv. 2006 à 15:10
0
Utile
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
mictif 105 Messages postés lundi 13 décembre 2004Date d'inscription 14 février 2013 Dernière intervention - 12 janv. 2006 à 15:27
0
Utile
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
FhX 2368 Messages postés mercredi 13 octobre 2004Date d'inscription 18 avril 2015 Dernière intervention - 12 janv. 2006 à 16:59
0
Utile
" $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.