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. tu vires mysql_free_result($resultaa);

    et tu met un ORDER BY

    "SELECT 'email' FROM 'login' ORDER BY email"
    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. 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. Pas très bien compris tu peux réexpliquer STP.
          C'est la table login et le champ email
          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. 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. 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. 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