PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > fr.comp.lang.php > Comment transmettre une variable de type ressource ?
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Comment transmettre une variable de type ressource ?

Réponse
 
LinkBack Outils de la discussion
Vieux 20/07/2007, 21h26   #1 (permalink)
CoolAuMiers
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Comment transmettre une variable de type ressource ?

Bonjour,

J'aurais besoin de transmettre d'un script php à un autre le résultat d'un
appel à la fonction mysql_query(..).

Je pensais utiliser une variable de session ($_SESSION['ResultatRequete'] =
mysql_query(..) par exemple) mais c'est impossible car les variables de
session ne peuvent apparemment pas stocker des variables de type ressource.

Y a-t-il un autre moyen de transmettre ma variable ?

Merci pour vos suggestions.

Pascal.
  Réponse avec citation
Vieux 20/07/2007, 22h30   #2 (permalink)
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Comment transmettre une variable de type ressource ?

Le 20/07/2007 22:26, CoolAuMiers a écrit :
>
> J'aurais besoin de transmettre d'un script php à un autre le résultat d'un
> appel à la fonction mysql_query(..).
>
> Je pensais utiliser une variable de session ($_SESSION['ResultatRequete'] =
> mysql_query(..) par exemple) mais c'est impossible car les variables de
> session ne peuvent apparemment pas stocker des variables de type ressource.


Et pour cause ! :-D

Une ressource, c'est un truc dont la durée de vie ne peut pas excéder
celle du processus qui l'a créée. Nécessairement, lorsque ton premier
script PHP rend la main, toutes les ressources disparaissent.

> Y a-t-il un autre moyen de transmettre ma variable ?


Inutile de penser à la solution de récupérer toutes les données de ta
base, puis de les passer en variable de session : c'est une *très*
mauvaise solution, pour plein de raisons (à commencer par les perfs
et la durée de vie des données elles-mêmes). Le mieux, c'est tout
simplement de faire une nouvelle requête mysql dans le second script,
probablement avec un filtre ne te donnant que les P lignes à partir de
la ligne N+1 si le premier script s'était arrêté à la ligne N.
  Réponse avec citation
Vieux 21/07/2007, 22h07   #3 (permalink)
CoolAuMiers
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Comment transmettre une variable de type ressource ?

"Olivier Miakinen" <om+news@miakinen.net> a écrit dans le message de news:
46a11d35@neottia.net...
> Le 20/07/2007 22:26, CoolAuMiers a écrit :
>>
>> J'aurais besoin de transmettre d'un script php à un autre le résultat
>> d'un
>> appel à la fonction mysql_query(..).
>>
>> Je pensais utiliser une variable de session ($_SESSION['ResultatRequete']
>> =
>> mysql_query(..) par exemple) mais c'est impossible car les variables de
>> session ne peuvent apparemment pas stocker des variables de type
>> ressource.

>
> Et pour cause ! :-D
>
> Une ressource, c'est un truc dont la durée de vie ne peut pas excéder
> celle du processus qui l'a créée. Nécessairement, lorsque ton premier
> script PHP rend la main, toutes les ressources disparaissent.


C'est bien ce que j'avais cru comprendre...

>> Y a-t-il un autre moyen de transmettre ma variable ?

>
> Inutile de penser à la solution de récupérer toutes les données de ta
> base, puis de les passer en variable de session : c'est une *très*
> mauvaise solution, pour plein de raisons (à commencer par les perfs
> et la durée de vie des données elles-mêmes). Le mieux, c'est tout
> simplement de faire une nouvelle requête mysql dans le second script,
> probablement avec un filtre ne te donnant que les P lignes à partir de
> la ligne N+1 si le premier script s'était arrêté à la ligne N.


OK il n'y a donc pas d'astuce particulière habituellement utilisée pour
répondre au besoin.
Hé ben s'il faut requêter, on va requêter ...

Merci bien pour la réponse.

Pascal.
  Réponse avec citation
Vieux 23/07/2007, 13h51   #4 (permalink)
Bruno Desthuilliers
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Comment transmettre une variable de type ressource ?

CoolAuMiers a écrit :
> Bonjour,
>
> J'aurais besoin de transmettre d'un script php à un autre le résultat d'un
> appel à la fonction mysql_query(..).


Tu veux dire d'une requête (HTTP) à une autre, ou c'est dans une même
requête HTTP ?
  Réponse avec citation
Vieux 24/07/2007, 08h23   #5 (permalink)
CoolAuMiers
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Comment transmettre une variable de type ressource ?

"Bruno Desthuilliers" <bruno.42.desthuilliers@wtf.websiteburo.oops.com > a
écrit dans le message de news: 46a490b6$0$8928$426a74cc@news.free.fr...
> CoolAuMiers a écrit :
>> Bonjour,
>>
>> J'aurais besoin de transmettre d'un script php à un autre le résultat
>> d'un appel à la fonction mysql_query(..).

>
> Tu veux dire d'une requête (HTTP) à une autre, ou c'est dans une même
> requête HTTP ?


C'était dans 2 requêtes HTTP différentes.
Mais bon, c'est pas possible puisque les resources sont liées au fichier
PHP, j'ai résolu le problème en effectuant une requête différente dans
chacune des parties de ma page.
Pascal.
  Réponse avec citation
Vieux 24/07/2007, 12h33   #6 (permalink)
Bruno Desthuilliers
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Comment transmettre une variable de type ressource ?

CoolAuMiers a écrit :
> "Bruno Desthuilliers" <bruno.42.desthuilliers@wtf.websiteburo.oops.com > a
> écrit dans le message de news: 46a490b6$0$8928$426a74cc@news.free.fr...
>> CoolAuMiers a écrit :
>>> Bonjour,
>>>
>>> J'aurais besoin de transmettre d'un script php à un autre le résultat
>>> d'un appel à la fonction mysql_query(..).

>> Tu veux dire d'une requête (HTTP) à une autre, ou c'est dans une même
>> requête HTTP ?

>
> C'était dans 2 requêtes HTTP différentes.


Ok. Rien à ajouter alors...
  Réponse avec citation
Vieux 24/07/2007, 12h33   #7 (permalink)
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Comment transmettre une variable de type ressource ?

Le 24/07/2007 09:23, CoolAuMiers a écrit :
>
> [...] c'est pas possible puisque les resources sont liées au fichier
> PHP,


Quoique je suppose que les choses sont claires dans ton esprit et que tu
n'as juste pas choisi le bon terme, je précise quand même à l'intention
des autres lecteurs : les ressources ne sont pas liées au fichier PHP,
mais au processus qui exécute le script. Grosso modo, une ressource
c'est essentiellement un pointeur vers une zone active de la mémoire,
par exemple un pointeur de fichier ou une connexion TCP/IP active.

Je suis conscient que mes explications ne sont pas vraiment correctes
non plus, mais au moins j'espère qu'il est clair qu'une ressource mysql
ne contient pas l'ensemble des résultats de la requête SQL, mais juste
un pointeur permettant d'y accéder par une requête à la base de données.

> j'ai résolu le problème en effectuant une requête différente dans
> chacune des parties de ma page.


C'est parfait.
  Réponse avec citation
Vieux 24/07/2007, 16h00   #8 (permalink)
Service-api
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Comment transmettre une variable de type ressource ?

"Olivier Miakinen" <om+news@miakinen.net> a écrit dans le message de news:
46a5ad0d@neottia.net...
> Le 24/07/2007 09:23, CoolAuMiers a écrit :
>>
>> [...] c'est pas possible puisque les resources sont liées au fichier
>> PHP,

> ...
> mais au processus qui exécute le script....


Le php.exe, je suppose, qui est ouvert à l'appel d'un .php par le navigateur
client et fermé lorsqu'on quitte la page ?

> Je suis conscient que mes explications ne sont pas vraiment correctes
> non plus, mais au moins j'espère qu'il est clair qu'une ressource mysql
> ne contient pas l'ensemble des résultats de la requête SQL, mais juste
> un pointeur permettant d'y accéder par une requête à la base de données.


Ca c'était bien clair. Un peu le handle des fopen(...) du C.

Pascal.
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 03h28.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,12643 seconds with 16 queries