Warning: mysql_fetch_array(): 4

Bonjour,

Une page PHP censé récupéré les 'email' de la table 'login'
<?php
include ('conf.php');
mysql_connect($server, $login, $pass);
mysql_select_db($db);

$resultaa = mysql_query("SELECT 'email' FROM 'login'");

while ($row = mysql_fetch_array($resultaa, MYSQL_BOTH)) {
printf ("%s", $row[0], $row["name"]);
mysql_free_result($resultaa);
}
mysql_close();
?>

Après ça m'affiche la 1ère e-mail et après j'ai erreur :(
Si je vire le mysql_free_result j'ai toutes les e-mails mais en désordre :(((

Cordialement
laplageaimelesable

14 réponses

  1. explique toi mieux, tu auras de l'aide, tu veux trier de quelle facon ?? un exemple serait plus parlant ...

    alain_42 te fais remarquer que le champ name n'existe pas ... il faut l'ajouter dans la requete ou le supprimer du print
    1. J'ai ça:
      <?php 
      include ('conf.php'); 
      mysql_connect($server, $login, $pass); 
      mysql_select_db($db); 
      
      $resultaa = mysql_query("SELECT 'email' FROM 'login' ORDER BY 'email'"); 
      
      while ($row = mysql_fetch_array($resultaa)){ 
      printf ("%s", $row[0], $row["name"]); 
      } 
      mysql_close(); 
      ?>

      ou
      <?php
      include ('conf.php');
      mysql_connect($server, $login, $pass);
      mysql_select_db($db);
      
      $resultaa = mysql_query("SELECT 'email' FROM 'login'");
      
      while ($row = mysql_fetch_array($resultaa, MYSQL_BOTH)) {
      printf ("%s", $row[0], $row["name"]);
      mysql_free_result($resultaa);
      }
      mysql_close();
      ?>
      1. c'est quoi name, un autre champ de ta table ?
        c'est par rapport à ce champ que tu veux trier
        de plus si tu veux l'afficher, il faut le rajouter après SELECT

        $resultaa = mysql_query("SELECT email,name FROM login ORDER BY name");
        
        while ($row = mysql_fetch_array($resultaa, MYSQL_BOTH)) {
        printf ("%s", $row['email'], $row['name']);
        }
        1. WOOOOOOW Ça y est ça marche mais il y a tout en vrac =O
          1. enleve le MYSQL_BOTH
            while ($row = mysql_fetch_array($resultaa)){
            ....
            }
        2. Pas très bien compris tu peux réexpliquer STP.
          C'est la table login et le champ email
          1. Dans ta requête, t'as mis "email" en nom de table alors qu'avant c'était "login". Du coup la requête est pas bonne, donc le resultat est vide.
            1. <?php
              include ('conf.php');
              mysql_connect($server, $login, $pass);
              mysql_select_db($db);
              
              $resultaa = mysql_query("SELECT 'email' FROM 'email' ORDER BY 'email'");
              
              while ($row = mysql_fetch_array($resultaa, MYSQL_BOTH)) {
              printf ("%s", $row[0], $row["name"]);
              }
              mysql_close();
              ?>


              Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/administration/email.php on line 8

              Merci de ton aide
              laplageaimelesable
              1. tu vires mysql_free_result($resultaa);

                et tu met un ORDER BY

                "SELECT 'email' FROM 'login' ORDER BY email"