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"
    0
    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
      0
      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.
        0
        1. Pas très bien compris tu peux réexpliquer STP.
          C'est la table login et le champ email
          0
          1. ah c bon g compris jvais test
            0
            1. WOOOOOOW Ça y est ça marche mais il y a tout en vrac =O
              0
              1. enleve le MYSQL_BOTH
                while ($row = mysql_fetch_array($resultaa)){
                ....
                }
                0
            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']);
              }
              0
              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();
                ?>
                0
                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
                  0