[SPIP] ~maj v3.0.14-->v3.0.17
[ptitvelo/web/www.git] / www / ecrire / base / connect_sql.php
index ccecb8e..41eeff1 100644 (file)
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2012                                                *
+ *  Copyright (c) 2001-2014                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
@@ -104,7 +104,10 @@ function spip_connect($serveur='', $version='') {
                        return false;
                }
        } else  {
+               // spip_meta n'existe pas toujours dans la base
+               // C'est le cas d'un dump sqlite par exemple 
                if ($connexions[$index]['spip_connect_version']
+               AND sql_showtable('spip_meta', true, $serveur)
                AND $r = sql_getfetsel('valeur', 'spip_meta', "nom='charset_sql_connexion'",'','','','',$serveur))
                        $charset = $r;
                else $charset = -1;
@@ -236,7 +239,9 @@ function spip_connect_main($connexion)
        }
 
        if (!($f = $connexion['select'])) return false;
-       if (!$r = $f('valeur','spip_meta', "nom='charset_sql_connexion'"))
+       // en cas d'erreur select retourne la requette (is_string=true donc)
+       if (!$r = $f('valeur','spip_meta', "nom='charset_sql_connexion'")
+         OR is_string($r))
                return false;
        if (!($f = $connexion['fetch'])) return false;
        $r = $f($r);