Salut à tous,
Voilà le décor : Flex4, ActionScript3, amfphp, MySQL
J'ai besoin de gérer une multitude de petites images (150 octets maxi) et j'ai décidé de les ranger dans ma base MySql. Je sais, il est préférable de stocker les images à l’extérieur de la base et de ne garder que le chemin, et bla bla ... ce n'est pas le sujet. j'ai fait ce choix en toutes connaissance de cause et dans ce cas ça m'apporte plus d'avantages que d’inconvénients. (Entre autre je n'ai pas a me trainer une multitude de petits fichiers)
Ce point étant établi, le vrai sujet est la gestion des blob avec ActionScript, PHP et amfphp.
Les fonctions php sont les suivantes :
La fonction 'majEnreg' qui m'a permis de mettre les images dans les blob
La fonction 'getEnreg' qui me permet de recuperer l'ensemble de mes images.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function majEnreg($pEnv,$itemId,$itemImg){ // $pEnv sont les paramètres qui me permettent de faire la connexion // $itemId est l'id de l'enregistement concrené // $itemImg est l'image convertie sous forme d'un ByteArray. fct::initInstance($this->envir,$pEnv); // fait la connexion $tbl ="tblimg"; $reqTxt ="UPDATE $tbl SET enr_img='$itemImg' WHERE enr_id=$itemId"; // enr_img est un blob $req = $this->envir[PDOcnx]->prepare($reqTxt); $result= fct::execRequete($this->envir,$req); return $result; }
Le problème est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function getEnreg($pEnv){ // $pEnv sont les paramètres qui me permettent de faire la connexion fct::initInstance($this->envir,$pEnv); // Fait la connexion $tbl ="tblimg"; $reqTxt ="SELECT enr_id,enr_img FROM $tbl"; $req = $this->envir[PDOcnx]->prepare($reqTxt); $result= fct::execRequete($this->envir,$req); return $result; }
La première requête se passe bien. je récupère bien dans flex tous mes enregistrements, environs 200 dans un premier temps, avec mes 200 images que je peux afficher dans une liste Flex.
A partir de là, impossible de faire une autre requête. Le script php est bien appelé, mais je n'en reviens pas !!! le curseur reste sur la petite horloge qui tourne.
Pourtant la première requête est bien terminée puisque j'ai reçu l'événement 'ResultEvent.RESULT' me déroutant dans une fonction ou je récupère toutes les images pour le afficher.
Si je transforme mon champ en champ "varchar" par exemple tout se passe bien. (Dans ce cas, je ne gère plus les images bien sur)
Y a-t-il une procédure spéciale pour récupérer des blob avec amfphp ?? Google n'est pas très prolifique sur ce sujet.... J'ai n'ai rien trouvé pour résoudre mon problème.
Si quelqu’un à un idée, je suis tout ouïe.
Merci de vos réponses
YC
Partager