Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2998 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [resolu] Fetch_object

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[resolu] Fetch_object

n°2179505
Profil sup​primé
Posté le 10-03-2013 à 00:13:08  answer
 

Bonjours à tous, ce la fait trois jours que je m'arrche les cheuveux sur un probleme.
 
Je fais un mysql_fetch_object sur des champs, et je n'ai rien en retour, la variable qui est sencé prendre les objets reçoit faux  en retour  :sweat:  
 
La requette SQL est bonne, les champs envoyés sont bon...  j'ai essayé de mettre des alias aux champs et de les appeler ensuite avec l'objet mais  
 
toujours rien... je ne comprend pas pourquoi, mon pojet d'informatique est a rendre pour le 8 avril, pour mon BTS, et la je suis bloqué.
 
Merci de m'aider...
 

Code :
  1. $query = "
  2.    SELECT
  3.    ARTICLE_CONSOLE.id_article_console,
  4.    FICHE_CONSOLE.nom_fiche_console,
  5.    CLIENT.nom_client,
  6.    EMPLOYE.nom_employe,
  7.    ARTICLE_CONSOLE.date_achat_console,
  8.    ARTICLE_CONSOLE.prix_vente_console,
  9.    ARTICLE_CONSOLE.commentaire_console,
  10.    ARTICLE_CONSOLE.etat_console
  11.    FROM
  12.    ARTICLE_CONSOLE,FICHE_CONSOLE,EMPLOYE,CLIENT
  13.    WHERE
  14.    CLIENT.id_client = ARTICLE_CONSOLE.id_client_console
  15.    AND
  16.    EMPLOYE.id_employe = ARTICLE_CONSOLE.id_employe_console
  17.    AND
  18.    ARTICLE_CONSOLE.id_fiche_console = FICHE_CONSOLE.id_fiche_console
  19.    AND
  20.    FICHE_CONSOLE.nom_fiche_console = '$nom_console' $filtre_zone $etat_console ;";
  21.   $bdd = new connexion();
  22.    $req = mysql_query($query)or die(mysql_error());
  23.   $tableau_console = array();
  24.   $i=0;
  25.   while($resultat = mysql_fetch_object($req))
  26.   {
  27.    $tableau_console[$i] = $resultat->id_article_console;
  28.    $i=$i+1;
  29.    $tableau_console[$i] = $resultat->nom_fiche_console;
  30.    $i=$i+1;
  31.    $tableau_console[$i] = $resultat->nom_client;
  32.    $i=$i+1;
  33.    $tableau_console[$i] = $resultat->nom_employe;
  34.    $i=$i+1;
  35.    $tableau_console[$i] = $resultat->date_achat_console;
  36.    $i=$i+1;
  37.    $tableau_console[$i] = $resultat->prix_vente_console;
  38.    $i=$i+1;
  39.    $tableau_console[$i] = $resultat->commentaire_console;
  40.    $i=$i+1;
  41.    $tableau_console[$i] = $resultat->etat_console;
  42.    $i=$i+1;
  43.   }
  44.    unset($bdd);
  45.    $_SESSION['tableau_console'] = $tableau_console;
  46.   if(!$resultat)
  47.     {
  48.      echo"<script type='text/javascript'>alert('Erreur : Verifiez les champs renseignes');document.location.href='../accueil.php';</script>";
  49.      die;
  50.     }
  51.    else
  52.     {
  53.      $redirection="../accueil.php";
  54.      header("Location: $redirection" );
  55.      die;
  56.     }


Message édité par Profil supprimé le 14-03-2013 à 11:03:51
mood
Publicité
Posté le 10-03-2013 à 00:13:08  profilanswer
 

n°2179517
Soileh
Lurkeur professionnel
Posté le 10-03-2013 à 11:33:03  profilanswer
 

:hello:  !
 
D'après la page d'aide de la fonction mysql_fetch_object, cell-ci retourne false dans le cas où il n'y a pas de lignes retournées.
Tu es sûr que ta requête retourne bien un résultat ? As-tu essayé de faire un echo sur ta requête générée ?  :??:


---------------
And in the end, the love you take is equal to the love you make
n°2179522
Profil sup​primé
Posté le 10-03-2013 à 13:13:43  answer
 

elle retourne bien une ligne, même deux...la je ne sais plus quoi faire, même en mysqli ça ne passe pas... :-( je suis perdu de chez perdu la...

n°2179523
Profil sup​primé
Posté le 10-03-2013 à 13:17:36  answer
 

un echo"$req" me retourne : Resource id #5

n°2179524
Soileh
Lurkeur professionnel
Posté le 10-03-2013 à 13:24:48  profilanswer
 

et le echo $query te retourne quoi ? :??:


---------------
And in the end, the love you take is equal to the love you make
n°2179585
Profil sup​primé
Posté le 11-03-2013 à 09:47:48  answer
 

Bien il me retourne la requette SQl ^^
 
Je ne sais pas, mais alors vraiment pas la, j'ai eu un message d'erreur une fois, ça parlait d'allocation mémoire ??!!

n°2179837
cvb
Posté le 11-03-2013 à 21:31:08  profilanswer
 

La requete SQL quand tu la colles dans PhpMyadmin ça donne quoi ?

n°2179880
Profil sup​primé
Posté le 12-03-2013 à 09:38:19  answer
 

ça....
 
 
1|nintendo 64 |Ruaz|gregoire|2013-03-07|75.75|Aticle bien modifié|1
 

n°2179910
xaeon
Profil: TT
Posté le 12-03-2013 à 10:40:21  profilanswer
 

Dans ta boucle while, tu pourrais faire un var_dump ou un print_r de $resultat ? avant même de remplir ton tableau et nous dire ce qu'il en ressort?
 
De plus si tu veux te simplifier la vie, pas besoin de compteur ($i dans ton cas) en php pour ce que tu fais.
 

Code :
  1. <?php
  2. $maList =  array();
  3. $maList[] = 'foo';
  4. $maList[] = 'bar';
  5. // $maList[0] vaudra foo et $maList[1] vaudra bar
  6. ?>

n°2179918
Profil sup​primé
Posté le 12-03-2013 à 11:12:07  answer
 

xaeon a écrit :

Dans ta boucle while, tu pourrais faire un var_dump ou un print_r de $resultat ? avant même de remplir ton tableau et nous dire ce qu'il en ressort?
 
De plus si tu veux te simplifier la vie, pas besoin de compteur ($i dans ton cas) en php pour ce que tu fais.
 

Code :
  1. <?php
  2. $maList =  array();
  3. $maList[] = 'foo';
  4. $maList[] = 'bar';
  5. // $maList[0] vaudra foo et $maList[1] vaudra bar
  6. ?>



 
Merci de l'astuce pour le compteur, bien j'ai fais un echo,un print, et bien il ne me lance même pas la boucle, il passe directement au message d'erreur, ce ne serai pas une histoire de pointeur qui serait déja en fin de ligne, mais ça me parrait assez bizard du fait que j'ai déja fait exactement la même chose sur une appli, et ça fonctionnait parfaitement  :??:  :cry:

mood
Publicité
Posté le 12-03-2013 à 11:12:07  profilanswer
 

n°2179924
Soileh
Lurkeur professionnel
Posté le 12-03-2013 à 12:10:42  profilanswer
 

Une petite piste j'espère http://forum-images.hardware.fr/icones/message/icon3.gif :
d'après la doc de mysql_query, La chaîne de requête ne doit pas se terminer par un point-virgule.
Si tu l'enlèves de ta requête, il se passe quoi ? :??:


---------------
And in the end, the love you take is equal to the love you make
n°2179985
Profil sup​primé
Posté le 12-03-2013 à 14:56:58  answer
 

non rien, toujours pareil... la fetch_objcet ne veut rien savoir....

n°2180024
Profil sup​primé
Posté le 12-03-2013 à 16:00:08  answer
 

sous phpMyadmin quand je lance des jointures simple, j'ai  
unknown table status: TABLE_TYPE
en notifications, mais il me sort bien le tableau, mais sous DosMysql, il ne me dit rien....  Des idées ?

n°2180048
bistouille
Posté le 12-03-2013 à 16:39:55  profilanswer
 

Juste comme ça :
 

Citation :

mysql_fetch_object
 
Valeurs de retour
 
Retourne un objet avec les propriétés qui correspondent à la ligne récupérée, ou FALSE s'il n'y a plus de lignes.


 
Donc forcément tu entreras toujours dans ta condition if(!$resultat)

n°2180088
xaeon
Profil: TT
Posté le 12-03-2013 à 21:37:10  profilanswer
 

Franchement, y'a pas 50 solutions possibles car si la requête était foireuse d'entrée tu entrerais dans ton die(mysql_error()).  
 
Tu peux juste faire afficher ta requète une fois qu'elle est prête à être envoyée à MySQL (juste avant l'instanciation de $bdd) avec un die juste derrière pour vraiment t'assurer que ta requête renvoie vraiment quelque chose.
 

n°2180401
Profil sup​primé
Posté le 14-03-2013 à 10:31:22  answer
 

c'est corrigé, merci pour vos aides,  
 
En faite même si je ne mettais rien dans le formumaire,
 
bien cela prenais une valeur '', donc le  isset était vrai donc bien il me mettait a jour la requette sql avec un bout de sql vide...
 
genre table.machin='' and table.machin='0'...
 
Donc forcément, ça donnait rien du tout....
 
Ma seconde érreur à été de déclarer le $resultat  en array(); alors qu'il recoit des objet.
 
Petit optimisation, faire des doubles tableaux
du style  
 
$monTab[$i][numeroDeCase] = $resultat->maColonne;
 
Voila ça marche, un grand merci à tous pour votre attention porté a mon problème, surtout que c'est pour mon BTS sio :)
 
Encore Merci les Hfrien, a bientot

n°2180403
Profil sup​primé
Posté le 14-03-2013 à 10:33:14  answer
 

bistouille a écrit :

Juste comme ça :

 
Citation :

mysql_fetch_object

 

Valeurs de retour

 

Retourne un objet avec les propriétés qui correspondent à la ligne récupérée, ou FALSE s'il n'y a plus de lignes.

 

Donc forcément tu entreras toujours dans ta condition if(!$resultat)

 

oui j'ai fait un

 

$numrow = mysql_num_rows($req);

 

Ensuite :

 

    SI $numrow = 0 ALORS afficher "Erreur : t'es un gros boulet" SINON afficher "ok" FIN SI

 

et voila  :jap:  


Message édité par Profil supprimé le 14-03-2013 à 10:33:37

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [resolu] Fetch_object

 

Sujets relatifs
seekbar custo, help !!Help html/css !
Help Livre htmlProblème avec mon code.... HELP
[HELP] VBA sur Excel[Need HELP !] Garder la dernière version dans une liste
Help, j'ai besoin d'un coup de main..ODBC FETCH ARRAY
[VBA] help formules personnaliséeshelp sur dreamweaver
Plus de sujets relatifs à : [resolu] Fetch_object


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR