Requete sql et condition if

Résolu
ced3E Messages postés 107 Statut Membre -  
ced3E Messages postés 107 Statut Membre -
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 :)

3 réponses

  1. xXCool00Xx Messages postés 362 Date d'inscription   Statut Membre Dernière intervention   18
     
    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.
    0
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
    $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>
    0
  3. ced3E Messages postés 107 Statut Membre 2
     
    Merci de votre aide je viens de finir mon code, j' utilise ma variable dans mon where.

    $resulte = mysql_query("SELECT id_me = " . $_SESSION['id'] . " FROM friends WHERE id_friend = '$variable_email' ");

    et bien sur des conditions if pour m' assurer que la variable est correctement remplie.
    0