[spip-dev] Connexion base distante, erreur fatale et $options = 'continue',

Bonjour la liste

Je m'amuse avec les bases distantes et un connect conditionnel.
Par connect conditionnel, je veux dire :

<?php
    /* connexion2.php */
    /*** traitement pour remplir $sql */

    if (is_array($sql)) {
        spip_connect_db($sql['host'],'',$sql['user'],$sql['pass'],$sql['db'],'mysql',
'spip','');
    }
?>

Par la suite je fais des appel sql_* avec $serveur="connexion2"

Si mon traitement $sql est correctement rempli, les sql_*(...,
serveur="connexion2") font leur boulot avec joie et bonheur.
Si mon traitement $sql ne se passe pas correctement, sql_* se
ramassent normalement et le disent.

Le problème est l'obtention systématique de "Erreur SQL, site en
maintenance, blabla" malgré le passage $options = false / 'continue'

Une idée pour faire souffrir spip en silence ?

Km

S'lt

Je complete la question :). C'est valable aussi pour un squelette

<BOUCLE_toto(connexion2:ARTICLES) {...} />

Comment le rendre muet si connexion2 est dans les choux. Et eviter un
gros message effrayant

Km

ah ben ça, c'est pas dur :
   <BOUCLE_a(connexion2:ARTICLES ?)>

S'lt

> <BOUCLE_toto(connexion2:ARTICLES) {...} />
> Comment le rendre muet si connexion2 est dans les choux.
ah ben ça, c'est pas dur :
  <BOUCLE_a(connexion2:ARTICLES ?)>

Ouais ça c'est du 30% de résolu :slight_smile:

Si la boucle le fait sql_* doit pouvoir s'en sortir aussi.

Km

Bonjour la liste

Je m'amuse avec les bases distantes et un connect conditionnel.

...

Le problème est l'obtention systématique de "Erreur SQL, site en
maintenance, blabla" malgré le passage $options = false / 'continue'

Je ne comprends pas: si tu utilise $options= true systématiquement,
tu ne devrais pas avoir ce message.

Committo,Ergo:Sum

Bonjour

Je ne comprends pas: si tu utilise $options= true systématiquement,
tu ne devrais pas avoir ce message.

Pour commencer je n'avais pas défini $options, qui devrait être donc
true. J'obtiens pour chaque cas où connexion2.php est foireux ceci
coté public :
Site en travaux
Attention : un problème technique (serveur SQL) empêche l'accès à
cette partie du site. Merci de votre compréhension.

Du coup regardant la doc, j'ai testé avec 'continue', qui selon elle
dit pas d'erreur fatale (http://programmer.spip.org/Elements-communs).
Cela n'a rien résolu pour autant.

function unemeta($nom) {
    return sql_getfetsel(
        "valeur",
        'spip_meta',
        'nom LIKE "'.$nom.'"',
        array(),
        array(),
        "",
        array(),
        'connexion2',
        true
    );
}

Km

Ben euh, tu n'as pas écrit "continue" tu as écrit "true" ....

Committo,Ergo:Sum

Ben euh si :slight_smile:

Ben euh, tu n'as pas écrit "continue" tu as écrit "true" ....

J'ai testé les 3 :slight_smile: sans options, avec true et 'continue'

C'est un bug spécifique de sql_getfetsel qui semble remonter à l'introduction de ce paramètre dans tout le serveur virtuel SQL:

http://trac.rezo.net/trac/spip/changeset/11269/spip/ecrire/base/abstract_sql.php#L320

à moins que, Cédric, tu aies eu une idée bien précise en l'écrivant ainsi ?

Committo,Ergo:Sum