Requete sql et condition if
Résolu
ced3E
Messages postés
101
Date d'inscription
Statut
Membre
Dernière intervention
-
ced3E Messages postés 101 Date d'inscription Statut Membre Dernière intervention -
ced3E Messages postés 101 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J' ai du mal comprendre ce qui ne vas pas dans mon code, je voudrais demander une comparaison entre le résulta du select et ma variable.
Mon problème viens de la requete " sql " qui compare ma variable "add_friend" avec le résulta data['email'].
voila le code :
<?php
$add_friend = isset($_POST['add_friend']) ? trim(mysql_real_escape_string($_POST['add_friend'])) : '';
mysql_connect("localhost","root", "") OR die('Erreur de connexion à la base');
mysql_select_db("my");
$res = mysql_query("SELECT email FROM members WHERE email = '$add_friend'");
$sql = mysql_query ("SELECT email FROM friends
LEFT JOIN members ON friends.id_friend = id WHERE id_me = " . $_SESSION['id'] . " ");
while($data=mysql_fetch_assoc($sql))
$errors = array();
if( $data['email'] == $add_friend) $errors[] = 'déja ami';
if( $_SESSION['email'] == $add_friend) $errors[] = 'Ceci est votre email';
if(mysql_num_rows($res) == 0) $errors[] = 'Email innconu';
if(!filter_var($add_friend, FILTER_VALIDATE_EMAIL)) $errors[] = 'L\'adresse email est non invalide';
if(count($errors) > 0) {
echo '<div class="errors">';
echo 'Il y a '.count($errors).' erreur(s) :<br/>';
foreach($errors as $error){
echo '- '.$error.'<br/>';
}
echo '</div>';
}
?>
Merci d' avance de votre aide :)
J' ai du mal comprendre ce qui ne vas pas dans mon code, je voudrais demander une comparaison entre le résulta du select et ma variable.
Mon problème viens de la requete " sql " qui compare ma variable "add_friend" avec le résulta data['email'].
voila le code :
<?php
$add_friend = isset($_POST['add_friend']) ? trim(mysql_real_escape_string($_POST['add_friend'])) : '';
mysql_connect("localhost","root", "") OR die('Erreur de connexion à la base');
mysql_select_db("my");
$res = mysql_query("SELECT email FROM members WHERE email = '$add_friend'");
$sql = mysql_query ("SELECT email FROM friends
LEFT JOIN members ON friends.id_friend = id WHERE id_me = " . $_SESSION['id'] . " ");
while($data=mysql_fetch_assoc($sql))
$errors = array();
if( $data['email'] == $add_friend) $errors[] = 'déja ami';
if( $_SESSION['email'] == $add_friend) $errors[] = 'Ceci est votre email';
if(mysql_num_rows($res) == 0) $errors[] = 'Email innconu';
if(!filter_var($add_friend, FILTER_VALIDATE_EMAIL)) $errors[] = 'L\'adresse email est non invalide';
if(count($errors) > 0) {
echo '<div class="errors">';
echo 'Il y a '.count($errors).' erreur(s) :<br/>';
foreach($errors as $error){
echo '- '.$error.'<br/>';
}
echo '</div>';
}
?>
Merci d' avance de votre aide :)
A voir également:
- Requete sql et condition if
- Excel cellule couleur si condition texte - Guide
- Condition et excel - Guide
- Logiciel sql - Télécharger - Bases de données
- Nbval avec condition ✓ - Forum Excel
- If exist ✓ - Forum Autoit / batch
3 réponses
Salut, d'apres ce que je vois c'est :
$add_friend = isset($_POST['add_friend']) ? trim(mysql_real_escape_string($_POST['add_friend'])) : '';
Mais comme je n'est pas le code en couleur etc.,. Je ne peux pas trop t'aider a resoudre le probleme.
$add_friend = isset($_POST['add_friend']) ? trim(mysql_real_escape_string($_POST['add_friend'])) : '';
Mais comme je n'est pas le code en couleur etc.,. Je ne peux pas trop t'aider a resoudre le probleme.
je n'ai pas trop creusé ton code mais a première vue il manque les {} de ta boucle while
il l'init de l'array doit etre en dehors de la boucle
il l'init de l'array doit etre en dehors de la boucle
$errors = array(); while($data=mysql_fetch_assoc($sql)){ if( $data['email'] == $add_friend) $errors[] = 'déja ami'; if( $_SESSION['email'] == $add_friend) $errors[] = 'Ceci est votre email'; if(mysql_num_rows($res) == 0) $errors[] = 'Email innconu'; if(!filter_var($add_friend, FILTER_VALIDATE_EMAIL)) $errors[] = 'L\'adresse email est non invalide'; <code>}</code>