Erreur avec ma requete mysql_fetch_assoc

Fermé
irin1 Messages postés 35 Date d'inscription samedi 22 novembre 2014 Statut Membre Dernière intervention 8 mars 2023 - 2 mars 2023 à 09:10
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 12 mars 2023 à 00:38

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

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
2 mars 2023 à 09:21

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
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
2 mars 2023 à 19:21

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
irin1 Messages postés 35 Date d'inscription samedi 22 novembre 2014 Statut Membre Dernière intervention 8 mars 2023
2 mars 2023 à 19:30

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
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > irin1 Messages postés 35 Date d'inscription samedi 22 novembre 2014 Statut Membre Dernière intervention 8 mars 2023
2 mars 2023 à 19:50

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

0
irin1 Messages postés 35 Date d'inscription samedi 22 novembre 2014 Statut Membre Dernière intervention 8 mars 2023
2 mars 2023 à 20:00

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

0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
2 mars 2023 à 20:08

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
irin1 Messages postés 35 Date d'inscription samedi 22 novembre 2014 Statut Membre Dernière intervention 8 mars 2023
8 mars 2023 à 08:48

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
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
8 mars 2023 à 10:02

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
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
12 mars 2023 à 00:38

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