ma requete fonctionne lors de l'initialisation de l'objet, mias plus apres...
1 réponse
bruno
Bonjours, j'ai un bug (qui peut sembler complexe a expliquer mais
resultant s'un environnement assez simple), le texte est assez long
pour etre explicite, mais s'il vous plait, aidez moi :'( :
-je crée un objet DBAgent
lors de son initialisation, il crée un connexion a ma base.
-plus loin dans la script, j'utilise cet objet pour lancer une requete
cet appel a l'objet se fait dans un environnement "global" (pas dans
une fonction)
la requete echoue.
si je la lance a l'aide d'un outil externe (ex : MySQL Control Center)
-> la requete reussit.
------------------------
mes tests :
- var_dump sur l'objet avant de lancer la requete : l'objet existe et
possede un lien valide vers la base.
- plus bizarre :
si je lance la requete lance lors de l'initialisation de l'objet, elle
reussi.
------------------------
Mon code est le suivant :
/* la classe db fournit des outil de base telle que la methode query()
qui
* lance tout simplement une requete sur la connexion $this->link
*/
$this->link = mysql_connect($this->hote , $this->user , $this->pwd )
or die("Impossible de se connecter a la base");
mysql_select_db($this->base)
or die("Could not select database");
//fin de la classe dbAgent
$test = $this->query("SELECT s_id, s_Code FROM
d_sdum");
var_dump($test);
}
}
/* include*/
/* include*/
var_dump($dbAgent);
$test = $dbAgent->query("SELECT s_id, s_Code FROM d_sdum");
var_dump($test);
-----------------
explication :
a la fin de l'initialisation de la classe, je lance la requete, un var
dump sur le resultat m'indique une ressource de resultat valide.
apres mes deux includes, je fait un var_dump sur l'objet en cause : il
est present et valide.
je lance ma requete, puis fait un var_dump sur le resultat : c'est un
booléen faux, signifiant que la requete a echouée...
------------------
cela peut sembler bizarre... en tout cas pour moi...
un autre pb plus complexe :
avec la meme architecture, j'ai un autre objet BDCO_seul qui possede
une connexion a la meme base mais sur une table differente.
sur une des mes pages, j'i une requete qui reussit, et l'autre qui
echoue... sur d'autres, elles reussissent , ou ecohuent sans veritable
logique...
mais c'est un environnemnt plus complexe...
donc si vous pouviez m'aider... svp :)
ps : j'ai essayé de rebooter mon pc, verifié si les connection
etaient conservée tout le long du script... mais rien n'y fait...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daedalus.OS
Une idée à tout hasard. T'as essayé de fournir la ressource retourné par mysql_connect() ? Soit $dbAgent->query('SELECT...', $dbAgent->link) ou alors directement dans ta fonction query:
function query($qry){ mysql_query($qry, $this->link); }
Bon en fait je me base sur très peu de chose pour te suggérer ça (tu fournit très peu de code qui pourrait nous aider à trouver le problème), mais si plusieurs objects créés se connectent à des base de données différentes et que tu ne fournit pas une ressource pour chaque requête, alors php utilisera la ressource de la dernière connection effectué.
Dae
"bruno" wrote in message news:
Bonjours, j'ai un bug (qui peut sembler complexe a expliquer mais resultant s'un environnement assez simple), le texte est assez long pour etre explicite, mais s'il vous plait, aidez moi :'( :
-je crée un objet DBAgent lors de son initialisation, il crée un connexion a ma base.
-plus loin dans la script, j'utilise cet objet pour lancer une requete cet appel a l'objet se fait dans un environnement "global" (pas dans une fonction)
la requete echoue. si je la lance a l'aide d'un outil externe (ex : MySQL Control Center) -> la requete reussit.
------------------------ mes tests : - var_dump sur l'objet avant de lancer la requete : l'objet existe et possede un lien valide vers la base.
- plus bizarre : si je lance la requete lance lors de l'initialisation de l'objet, elle reussi.
------------------------
Mon code est le suivant :
/* la classe db fournit des outil de base telle que la methode query() qui * lance tout simplement une requete sur la connexion $this->link */
$this->link = mysql_connect($this->hote , $this->user , $this->pwd ) or die("Impossible de se connecter a la base"); mysql_select_db($this->base) or die("Could not select database"); //fin de la classe dbAgent $test = $this->query("SELECT s_id, s_Code FROM d_sdum"); var_dump($test); } } /* include*/ /* include*/
var_dump($dbAgent);
$test = $dbAgent->query("SELECT s_id, s_Code FROM d_sdum"); var_dump($test);
----------------- explication :
a la fin de l'initialisation de la classe, je lance la requete, un var dump sur le resultat m'indique une ressource de resultat valide.
apres mes deux includes, je fait un var_dump sur l'objet en cause : il est present et valide.
je lance ma requete, puis fait un var_dump sur le resultat : c'est un booléen faux, signifiant que la requete a echouée... ------------------
cela peut sembler bizarre... en tout cas pour moi...
un autre pb plus complexe : avec la meme architecture, j'ai un autre objet BDCO_seul qui possede une connexion a la meme base mais sur une table differente. sur une des mes pages, j'i une requete qui reussit, et l'autre qui echoue... sur d'autres, elles reussissent , ou ecohuent sans veritable logique... mais c'est un environnemnt plus complexe...
donc si vous pouviez m'aider... svp :)
ps : j'ai essayé de rebooter mon pc, verifié si les connection etaient conservée tout le long du script... mais rien n'y fait...
Une idée à tout hasard. T'as essayé de fournir la ressource retourné par
mysql_connect() ? Soit $dbAgent->query('SELECT...', $dbAgent->link) ou alors
directement dans ta fonction query:
function query($qry){
mysql_query($qry, $this->link);
}
Bon en fait je me base sur très peu de chose pour te suggérer ça (tu fournit
très peu de code qui pourrait nous aider à trouver le problème), mais si
plusieurs objects créés se connectent à des base de données différentes et
que tu ne fournit pas une ressource pour chaque requête, alors php utilisera
la ressource de la dernière connection effectué.
Dae
"bruno" <soixanteu@neuf.fr> wrote in message
news:1128430534.236567.69300@g47g2000cwa.googlegroups.com...
Bonjours, j'ai un bug (qui peut sembler complexe a expliquer mais
resultant s'un environnement assez simple), le texte est assez long
pour etre explicite, mais s'il vous plait, aidez moi :'( :
-je crée un objet DBAgent
lors de son initialisation, il crée un connexion a ma base.
-plus loin dans la script, j'utilise cet objet pour lancer une requete
cet appel a l'objet se fait dans un environnement "global" (pas dans
une fonction)
la requete echoue.
si je la lance a l'aide d'un outil externe (ex : MySQL Control Center)
-> la requete reussit.
------------------------
mes tests :
- var_dump sur l'objet avant de lancer la requete : l'objet existe et
possede un lien valide vers la base.
- plus bizarre :
si je lance la requete lance lors de l'initialisation de l'objet, elle
reussi.
------------------------
Mon code est le suivant :
/* la classe db fournit des outil de base telle que la methode query()
qui
* lance tout simplement une requete sur la connexion $this->link
*/
$this->link = mysql_connect($this->hote , $this->user , $this->pwd )
or die("Impossible de se connecter a la base");
mysql_select_db($this->base)
or die("Could not select database");
//fin de la classe dbAgent
$test = $this->query("SELECT s_id, s_Code FROM
d_sdum");
var_dump($test);
}
}
/* include*/
/* include*/
var_dump($dbAgent);
$test = $dbAgent->query("SELECT s_id, s_Code FROM d_sdum");
var_dump($test);
-----------------
explication :
a la fin de l'initialisation de la classe, je lance la requete, un var
dump sur le resultat m'indique une ressource de resultat valide.
apres mes deux includes, je fait un var_dump sur l'objet en cause : il
est present et valide.
je lance ma requete, puis fait un var_dump sur le resultat : c'est un
booléen faux, signifiant que la requete a echouée...
------------------
cela peut sembler bizarre... en tout cas pour moi...
un autre pb plus complexe :
avec la meme architecture, j'ai un autre objet BDCO_seul qui possede
une connexion a la meme base mais sur une table differente.
sur une des mes pages, j'i une requete qui reussit, et l'autre qui
echoue... sur d'autres, elles reussissent , ou ecohuent sans veritable
logique...
mais c'est un environnemnt plus complexe...
donc si vous pouviez m'aider... svp :)
ps : j'ai essayé de rebooter mon pc, verifié si les connection
etaient conservée tout le long du script... mais rien n'y fait...
Une idée à tout hasard. T'as essayé de fournir la ressource retourné par mysql_connect() ? Soit $dbAgent->query('SELECT...', $dbAgent->link) ou alors directement dans ta fonction query:
function query($qry){ mysql_query($qry, $this->link); }
Bon en fait je me base sur très peu de chose pour te suggérer ça (tu fournit très peu de code qui pourrait nous aider à trouver le problème), mais si plusieurs objects créés se connectent à des base de données différentes et que tu ne fournit pas une ressource pour chaque requête, alors php utilisera la ressource de la dernière connection effectué.
Dae
"bruno" wrote in message news:
Bonjours, j'ai un bug (qui peut sembler complexe a expliquer mais resultant s'un environnement assez simple), le texte est assez long pour etre explicite, mais s'il vous plait, aidez moi :'( :
-je crée un objet DBAgent lors de son initialisation, il crée un connexion a ma base.
-plus loin dans la script, j'utilise cet objet pour lancer une requete cet appel a l'objet se fait dans un environnement "global" (pas dans une fonction)
la requete echoue. si je la lance a l'aide d'un outil externe (ex : MySQL Control Center) -> la requete reussit.
------------------------ mes tests : - var_dump sur l'objet avant de lancer la requete : l'objet existe et possede un lien valide vers la base.
- plus bizarre : si je lance la requete lance lors de l'initialisation de l'objet, elle reussi.
------------------------
Mon code est le suivant :
/* la classe db fournit des outil de base telle que la methode query() qui * lance tout simplement une requete sur la connexion $this->link */
$this->link = mysql_connect($this->hote , $this->user , $this->pwd ) or die("Impossible de se connecter a la base"); mysql_select_db($this->base) or die("Could not select database"); //fin de la classe dbAgent $test = $this->query("SELECT s_id, s_Code FROM d_sdum"); var_dump($test); } } /* include*/ /* include*/
var_dump($dbAgent);
$test = $dbAgent->query("SELECT s_id, s_Code FROM d_sdum"); var_dump($test);
----------------- explication :
a la fin de l'initialisation de la classe, je lance la requete, un var dump sur le resultat m'indique une ressource de resultat valide.
apres mes deux includes, je fait un var_dump sur l'objet en cause : il est present et valide.
je lance ma requete, puis fait un var_dump sur le resultat : c'est un booléen faux, signifiant que la requete a echouée... ------------------
cela peut sembler bizarre... en tout cas pour moi...
un autre pb plus complexe : avec la meme architecture, j'ai un autre objet BDCO_seul qui possede une connexion a la meme base mais sur une table differente. sur une des mes pages, j'i une requete qui reussit, et l'autre qui echoue... sur d'autres, elles reussissent , ou ecohuent sans veritable logique... mais c'est un environnemnt plus complexe...
donc si vous pouviez m'aider... svp :)
ps : j'ai essayé de rebooter mon pc, verifié si les connection etaient conservée tout le long du script... mais rien n'y fait...