Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

test si requete vide

5 réponses
Avatar
Daniel.j
Bonjour
Pouvez vous m'aider ?, mes connaissances en cette matiere sont limitées !!!
Je fais une requete sur une table d'une base de donnees Mysql .
Mais comment faire ce test?
($courriel vient d'un formulaire ou l'utilisateur peut taper n'importe quel
email.)
Si $courriel n'est pas trouvé dans la table alors ne pas envoyer l'email et
afficher "echo 'l\'email n\'a pas pu être envoyé !';"
car avec le code ci dessous le test ne se fait pas (normal me direz-vous !)
et "echo 'Message envoyé';" est toujours affiché.

Merci pour toutes vos reponses qui pourront m'eclairer !!!
Daniel
=========
$reponse = mysql_query("SELECT * FROM matable WHERE mail='$courriel'");
while ($donnees = mysql_fetch_array($reponse) )
$message = "Bonjour, $nom\n";
$message .= "Vous avez demandé ....: \n\n";
$message .= "Cordialement \n\n";
$result = mail($courriel, $subject, $message,"From:info@xxx.fr");
if( $result == true )
{
echo 'Message envoyé';
echo '<p><a href=http://www.xxxr.fr/>Retour Accueil</a></p>';
}
else
{
echo 'l\'email n\'a pas pu être envoyé !';
}

5 réponses

Avatar
CrazyCat
Bonjour,

Daniel.j wrote:
Je fais une requete sur une table d'une base de donnees Mysql .
Mais comment faire ce test?
$reponse = mysql_query("SELECT * FROM matable WHERE mail='$courriel'");



Déjà, cette requète n'est pas propre car après tu devras vérifier si
elle renvoit bien un enregistrement. Je ferais plutôt:
$reponse = mysql_query("SELECT COUNT(*) AS nb FROM matable WHERE
mail='".$courriel."'");
Cette requète te renverra forcément un résultat qui est le nombre
d'enregistrements qui correspondent, donc 0 ou n.

Ensuite, tu n'as plus qu'à faire:
$donnees = mysql_fetch_assoc($reponse);
if (intval($donnees['nb'])>0) {
// envoi du message
} else {
// Pas de concordance
}



--
Réseau IRC Francophone: http://www.zeolia.net
Aide et astuces : http://www.g33k-zone.org
Communauté Francophone sur les Eggdrops: http://www.eggdrop.fr
Avatar
Daniel.j
Bonsoir,
Merci beaucoup CrazyCat !!!
C'est parfait :o)
Daniel

FAQ MPFE Microsoft Public Fr Excel
http://dj.joss.free.fr/faq.htm

"CrazyCat" a écrit dans le message de news:
h4os8d$d1b$
Bonjour,

Daniel.j wrote:
Je fais une requete sur une table d'une base de donnees Mysql .
Mais comment faire ce test?
$reponse = mysql_query("SELECT * FROM matable WHERE mail='$courriel'");



Déjà, cette requète n'est pas propre car après tu devras vérifier si elle
renvoit bien un enregistrement. Je ferais plutôt:
$reponse = mysql_query("SELECT COUNT(*) AS nb FROM matable WHERE
mail='".$courriel."'");
Cette requète te renverra forcément un résultat qui est le nombre
d'enregistrements qui correspondent, donc 0 ou n.

Ensuite, tu n'as plus qu'à faire:
$donnees = mysql_fetch_assoc($reponse);
if (intval($donnees['nb'])>0) {
// envoi du message
} else {
// Pas de concordance
}



--
Réseau IRC Francophone: http://www.zeolia.net
Aide et astuces : http://www.g33k-zone.org
Communauté Francophone sur les Eggdrops: http://www.eggdrop.fr


Avatar
Jean-Francois Ortolo
Facile

Après le $res = mysql_query($sql, $conn); tu peux voir le nombre
rendu par la fonction mysql_num_rows($res);

Bien à vous.

Amicalement.

Jean-François Ortolo

--
Visitez le site http://www.pronostics-courses.fr/
qui donne des Statistiques, Pronostics et Historiques graphiques.

Les Statistiques sont calculées d'après une base de données
allant du 1/01/2000 jusqu'à très récemment.
Avatar
Bruno Desthuilliers
Daniel.j a écrit :
Bonjour
Pouvez vous m'aider ?, mes connaissances en cette matiere sont limitées !!!
Je fais une requete sur une table d'une base de donnees Mysql .
Mais comment faire ce test?
($courriel vient d'un formulaire ou l'utilisateur peut taper n'importe quel
email.)



Attention aux attaques (injections SQL et autres)...

Si $courriel n'est pas trouvé dans la table alors ne pas envoyer l'email et
afficher "echo 'l'email n'a pas pu être envoyé !';"
car avec le code ci dessous le test ne se fait pas (normal me direz-vous !)
et "echo 'Message envoyé';" est toujours affiché.

Merci pour toutes vos reponses qui pourront m'eclairer !!!



mysql_num_rows() est ton amie.
Avatar
Daniel.j
merci à vous !
Daniel

"Bruno Desthuilliers" a écrit
dans le message de news: 4a702e90$0$24698$
Daniel.j a écrit :
Bonjour
Pouvez vous m'aider ?, mes connaissances en cette matiere sont limitées
!!!
Je fais une requete sur une table d'une base de donnees Mysql .
Mais comment faire ce test?
($courriel vient d'un formulaire ou l'utilisateur peut taper n'importe
quel email.)



Attention aux attaques (injections SQL et autres)...

Si $courriel n'est pas trouvé dans la table alors ne pas envoyer l'email
et afficher "echo 'l'email n'a pas pu être envoyé !';"
car avec le code ci dessous le test ne se fait pas (normal me direz-vous
!) et "echo 'Message envoyé';" est toujours affiché.

Merci pour toutes vos reponses qui pourront m'eclairer !!!



mysql_num_rows() est ton amie.