Erreur avec ma requete mysql_fetch_assoc

irin1 Messages postés 40 Statut Membre -  
jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   -

Bojour chers amis, voici mon code:

function RecType()
{
$results = array();
$query = mysql_query("SELECT * FROM Type");
while($row = mysql_fetch_assoc($query))
{
$results[] = $row;    
}
return $results;
}

ça me donne cette erreur: WARNING: MYSQL_FETCH_ASSOC() EXPECTS PARAMETER 1 TO BE RESOURCE, BOOLEAN GIVEN IN /HOME/CASIEXPR/PUBLIC_HTML/ACTUALISATION/AFFTICKET590.PHP ON LINE 7

Que dois-je faire pour la reparer ? Merci d' avance

4 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     

    Bonjour,

    Déjà, il manque la connexion à ta bdd

    Ensuite, tu utilises une vielle extension de mysql .... qui ne fonctionne plus avec les nouvelles versions de php.

    Je t'invite à passer à mysqli ou pdo.


    0
  2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     

    Je pense également que le mot type et un mot clé réservé de mysQL.

    Il faut donc le backquoter 

    SELECT * FROM `Type`

    Pense aussi à ajouter une gestion des erreurs.

    https://www.php.net/manual/en/function.mysql-error.php

    Ps: évite de créer plusieurs discussions sur le forum pour la même question.


    0
    1. irin1 Messages postés 40 Statut Membre
       

      Pardon s' il vous plait, j' ai déjà résolue ma prémière demande, il y a aussi ça:

      <?php
      function rec_mois_hist()
      {
      $infos = array();
      $pseudo = mysql_real_escape_string(htmlentities($_SESSION['pseudo']));
      $query = mysql_query("SELECT SUM(vendu) AS vendu,SUM(payer) AS payer,SUM(annule) AS annule,SUM(solde) AS solde,id,pseudo,date,ticket_vendu,ticket_payer,ticket_annule,mois,annee,jour FROM historique_vente WHERE pseudo='$pseudo' GROUP BY mois");
      while($rows = mysql_fetch_assoc($query))
      {
      $infos[] = $rows;
      }
      return $infos;
      }
      ?>

      Ce n' est pas répété si vous regardez bien

      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > irin1 Messages postés 40 Statut Membre
         

        Et donc, quel est le souci sur celle-là

        0
  3. irin1 Messages postés 40 Statut Membre
     

    je veux que l' erreur Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /hom ne s' affiche plus

    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       

      Et bien...... commence par appliquer ce que je t'ai déjà indiqué dans ma précédente réponse concernant la gestion des erreurs...

      0
  4. irin1 Messages postés 40 Statut Membre
     

    CA NE MARCHE PAS TOUJOURS

    function rec_mois_hist()
    {
    $link=mysqli_connect('localhost','root','') or die('error bdd');
    mysqli_select_db($link,'dbb') or die('Ddd irin introuvable');
    $infos = array();
    $query = mysqli_query($link,"SELECT sum(annule) as annule,jour FROM historique_vente GROUP BY jour");
    while($rows = mysqli_fetch_assoc($query))
    {
    $infos[] = $rows;
    }
    return $infos;
    }
    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       

      Je ne vois pas la gestion des erreurs dont je t'avais parlé 

      Pense aussi à ajouter une gestion des erreurs.

      https://www.php.net/manual/en/function.mysql-error.php

      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         

        En gros, ton code pourrait ressembler à ça

        /**
        * Fonction de connexion à la bdd. pas besoin de la réécrire à chaque fois que dois faire une requete..
        */
        function getDb(){
          
          $link = mysqli_connect("localhost","root","","dbb");
          // Check connection
          if (mysqli_connect_errno()) {
            echo "Failed to connect to MySQL: " . mysqli_connect_error();
            exit();
          }
         return $link;
        }
        
        function rec_mois_hist(){
          $link = getDb();
          $sql = "SELECT sum(annule) as annule,jour FROM historique_vente GROUP BY jour";
          $result = mysqli_query($link, $sql);
          if(!$result){
             echo("Error description: " . mysqli_error($link));
             exit;
          }
          
          return  mysqli_fetch_all($result, MYSQLI_ASSOC);
         
        }
        0