Bonjour ami(e)s éclairé(e)s,
Je tente de consulter, avec Spip, la base SQLite3 de Filmotech (une seule table : fmt_films).
J’ai suivi les articles de Marcillaud :
https://programmer.spip.net/Acceder-a-une-base-declaree
J’ai déclaré une autre base dans un fichier filmotech.php
et modifié le fichier récents.html qui liste les derniers articles de la page « sommaire » en y ajoutant :
<B_autres>
<div class="menu menu_articles">
<ul>
<BOUCLE_autres(filmotech:FMT_FILMS)>
<li>#TITREVF</li>
</BOUCLE_autres>
</ul>
</div><!--#articles_recents-->
</B_articles>
J’obtiens une longue liste de <li></li> vides.
Autant de <li> que de titres dans la table. Demi-résultat encourageant.
Je chauffe mais je ne brûle pas encore !
Deux interrogations :
1) les requêtes SQL
avec un var_profile=1
sur les 11 requêtes affichées, 2 sont pour la « BOUCLE_autres »
La première (la plus gourmande) que je ne comprend pas mais qui semble liée à la « Master table » :
SELECT sql, type FROM (SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) WHERE tbl_name LIKE 'fmt_meta' AND type!='meta' AND sql NOT NULL AND name NOT LIKE 'sqlite_%' ORDER BY substr(type,2,1), name
La seconde (la dernière et la plus rapide en exécution)
SELECT FMT_FILMS.titrevf FROM FMT_FILMS AS ‘FMT_FILMS'
qui ne remonte rien dans spip mais qui fonctionne très bien dans le gestionnaire de SQLite : 879 titres remontés.
Où est l’erreur ?
2) le fichier de connexion à la base étrangère
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
$GLOBALS['spip_connect_version'] = 0.8;
spip_connect_db('localhost','’,'monLoginSpip','monPpassSpip','filmotech','sqlite3', 'fmt','','');
?>
Je crois avoir essayé toutes les combinaisons possibles sans savoir si le problème vient de là.
- ajout ou pas du port 8889
- login & pass de Spip ou ceux du serveur Mamp ou rien
- pas de préfixe de table ou préfixe spip ou préfixe réel de la table = fmt bien que déjà dans la BOUCLE.
(<BOUCLE_autres(filmotech:FILMS)> provoque une erreur : Table inconnue)
Je ne sais plus où chercher...
Je suis en local, Mamp 3.5.1 : PHP 5.6.10 SQLite 3.8.10.2
SPIP 3.1.6 [23598] + écran de sécurité 1.3.2