Probleme d'accès à une base de donnée mysql depuis un UDT. - Version imprimable +- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr) +-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html) +--- Forum : Général (https://forum.cmsmadesimple.fr/forum-10.html) +--- Sujet : Probleme d'accès à une base de donnée mysql depuis un UDT. (/thread-2299.html) |
Probleme d'accès à une base de donnée mysql depuis un UDT. - jfr - 18/10/2012 Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~ Bonjour à tous. J'évalue la possibilité d'utiliser cmsms pour réaliser un site qui doit accéder à une base de données mysql (autre que celle de cmsms). Le code de l'UDT qui accède à la base est le suivant: ============ global $gCms; $connex =& ADONewConnection('mysql'); $connex->PConnect('localhost', 'utilisateur', 'password', 'mabase'); $result = $connex->Execute('SELECT * FROM matable where nom="machin"'); while ($row = $result->FetchRow()) { $nom = $row['nom']; $prenom = $row['prenom']; $mail = $row['mail']; echo '<br>'.$nom.' '.$prenom.' '.$mail.'<br>'; } $connex->Close(); ============== La requête retourne le résultat attendu si j'utilise la version complète de adodb: $config['use_adodb_lite'] = false; Comme cette option n'a plus l'air d'être supportée, j'ai testé avec l'option adodb_lite et je n'ai pas de retour de la base. J'ai testé également avec la 11.2 sans succès. D'après la doc de adodb_lite, la fonction FetchRow est supportée. J'avoue que j'ai du mal à comprendre ce que j'ai pu faire comme erreur. Je suppose que mon code est correct puisqu'il fonctionne avec l'option adodb "full". Merci pour votre aide. JF Probleme d'accès à une base de donnée mysql depuis un UDT. - bess - 18/10/2012 test plutôt ceci Citation : $connex= &ADONewConnection('mysql','pear:date:extend'); Probleme d'accès à une base de donnée mysql depuis un UDT. - jce76350 - 18/10/2012 Cmsms n'utlise pas pear de plus en 1.11.x c'est adodb (qui n'est pas à jour )qui est utilisée (et seule supportée 1.11.x ) Nota adodb_lite n'a rien a voir avec adodb même si les bases sont les mêmes ADOdb Lite is a separate PHP project done by a 3rd party to cut down the ADOdb library to use a smaller footprint. Probleme d'accès à une base de donnée mysql depuis un UDT. - jfr - 18/10/2012 Merci. J'ai maintenant le résultat de la requête qui s'affiche, par contre ma page est toujours "en vrac" comme si cmsms ne trouvait pas ma CSS. Faut-il explicitement faire une reconnexion à la base cmsms? Ou sont documentées les options que tu m'as indiquées dans ADONewConnection? JF Probleme d'accès à une base de donnée mysql depuis un UDT. - jfr - 18/10/2012 @ jce76350 Pourtant dans la distribution 1.11.2 c'est bien la librairie adodb_lite que l'on trouve dans le répertoire lib. JF Probleme d'accès à une base de donnée mysql depuis un UDT. - bess - 19/10/2012 bizarre ce que tu dit Jce, c'est le code que j'avais trouvé dans les entrailles de Cmsms il me semble afin de faire justement une UDT qui me permettais de taper sur une base annexe ... bizarre bizarre ... Probleme d'accès à une base de donnée mysql depuis un UDT. - Jean le Chauve - 19/10/2012 Je vois que tu vas afficher des mails ; tu as la possibilité de les crypter en utilisant ceci : http://www.cmsmadesimple.fr/forum/viewtopic.php?pid=8486#p8486 ou ce plugin : http://www.cmsmadesimple.fr/forum/viewtopic.php?id=4426 Probleme d'accès à une base de donnée mysql depuis un UDT. - jce76350 - 19/10/2012 Citation :Pourtant dans la distribution 1.11.2 c'est bien la librairie adodb_lite que l'on trouve dans le répertoire lib.Normalement il doit y avoir les 2 et c'est bien le cas dans ma "Version complète 1.11-8212-Fr" Comme c'est le cas sur le SVN, maintenant si sur les versions officielles c'est loupé faut poser la question a Robert C Citation :bizarre ce que tu dit Jce, c'est le code que j'avais trouvé dans les entrailles de Cmsmsben non en local et sur mes sites je n'ai pas Pear (Beuk) Ajout V 1.10 - Date: samedi 5 novembre 2011 20:36:49 Révision: 7518 Commentaire: Remove the $config['use_adodb_lite'] config option, and the $USE_OLD_ADODB global. Probleme d'accès à une base de donnée mysql depuis un UDT. - jce76350 - 19/10/2012 Citation :Je vois que tu vas afficher des mails ; tu as la possibilité de les crypter en utilisant ceci : http://www.cmsmadesimple.fr/forum/viewt … 8486#p8486 @ Jean j'ai mis des liens sur page "Plugins et Modules" pour information Probleme d'accès à une base de donnée mysql depuis un UDT. - Jean le Chauve - 19/10/2012 Oui, je l'avais déjà vu, merci Probleme d'accès à une base de donnée mysql depuis un UDT. - jfr - 19/10/2012 Un petit point de la situation: - sur les distributions officielles full et english, il n'existe que la librairie adodb_lite. J'ai trouvé ce message de R. Campbell en clôture d'un rapport de bug: ++++++++++ Date: 2012-04-13 10:47 Posted By: Robert Campbell (calguy1000) CMSMS 1.11 will now not support the full adodb. the use_adodb_lite config option is removed. +++++++++++ ( http : //dev.cmsmadesimple.org/bug/view/5817 ) - en explorant le source de cmsms j'ai trouvé ce commentaire dans lib/adodb.functions.php: "// @TODO: Remove dependence on PEAR for error handling " Il y existe dans la distrib un fichier lib/adodb_lite/generic_modules/pear_module.inc. Il reste donc des traces de pear. - le code conseillé par bess fonctionne correctement dans mon cas, mais en fin d'udt, il faut se reconnecter à la base cmsms avec la fonction: adodb_connect() définie dans lib/adodb.functions.php - il ne me reste plus qu'à régler un petit problème d'affichage des caractères accentués qui ne se produisait pas avec adodb full :mad: @ jean: merci pour le lien. Pour le moment ce n'est qu'un exemple de test. Merci à tous ceux qui m'ont répondu. JF Probleme d'accès à une base de donnée mysql depuis un UDT. - jissey - 19/10/2012 et pourquoi ne pas utiliser les function MySQL ou Mysqli de base? C'est plus économique qu'une librairie et on fait ce qu'on veut, non? Probleme d'accès à une base de donnée mysql depuis un UDT. - Jean le Chauve - 19/10/2012 Ou tout simplement importer la bd externe dans celle du cms. Probleme d'accès à une base de donnée mysql depuis un UDT. - jfr - 19/10/2012 @jissey: parce j'ai déjà utilisé adodb dans une autre appli et je trouve que ses fonctionnalités de récupération des données simplifient l'écriture du code. Mais je me suis déjà posé la question. @Jean: parce que cette base est utilisée par une autre appli qui vient y écrire des données. Mais là encore c'est une solution que je n'exclus pas complètement, un import quotidien de la base externe vers la base cmsms pourrait suffire. Je n'ai pas encore regardé de près la doc concernant cette possibilité: les mises à jour de cmsms vont-elles conserver les modifs que j'aurai apportées à la base? JF Probleme d'accès à une base de donnée mysql depuis un UDT. - Jean le Chauve - 26/11/2012 Pour synchroniser tes bd : http://fr.wikipedia.org/wiki/Extract_Transform_Load#Freeware et l'outil open source : http://fr.wikipedia.org/wiki/Talend |