SQLite3 ne trouve pas une table qui existe :-(
Bonjour à tous,
J'essaie de redémarrer une appli php/SQLite3 qui a dix ans et qui fonctionnait parfaitement.
Dans le code ci-dessous, SQLite ne trouve pas la table "titres" qui pourtant existe. J'ai installé sqlite3.exe dans le rep et fait un SELECT * FROM titres et j'ai bien ma table et son contenu.
Pourquoi 10 ans après mon OPEN ne fonctionnerait plus, svp ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| <?php
//+
// pcaweb_index.php
//
// Description
// Page d accueil de PCAWEB (équivalent à pcaweb_page_load?level=1)
// Lit la base et affiche les titres de premier niveau.
// Chaque ligne est un lien vers une page de texte si elle existe.
//
// Side effects
// none
//
// Revision History
// v1.0-0 19-fev-2013 DMo création à partir de enregistrement.php
// v1.1-0 25-fev-2013 DMo conversion à SQLite 3 et conversion en utf-8
//-
// Contrôle de la disponibilité de SQLite 3
if (!class_exists('SQLite3')) die("%PCAWEB-F-MISSING, SQLite 3 is not supported on this server.");
// Création du header de la page de résultats
include "pcaweb_index_inc.html";
echo "<tr>";
echo "<td>";
// activation de l error login php (sauf les notices)
error_reporting(E_ALL ^ E_NOTICE);
// Boutons de développement de la table des matières
echo '<p align="right"><font face="Verdana" size="1">';
echo '[<a href="pcaweb_table_of_contents_load.php?level=1">niveau 1</a>] ';
echo '[<a href="pcaweb_table_of_contents_load.php?level=2">niveau 2</a>] ';
echo '[<a href="pcaweb_table_of_contents_load.php?level=3">niveau 3</a>] ';
echo '</font></p><center>';
// On se connecte à la base de données
$dbname = "pcaweb_db.sqlite3";
$base = new SQLite3($dbname, 0666);
if (!$base)
{
$errorNr = $base->lastErrorCode();
$errorText = $base->lastErrorMsg();
echo "Erreur $errorNr à l'ouverture de la base : $errorText<br>";
exit(1);
}
// lecture de la table des titres et sous-titres
$dbTable = "titres";
$query = "SELECT numero, textUsed, texte FROM $dbTable";
$result = $base->query($query);
if (!$result)
{
$errorText = $base->lastErrorMsg();
$errorNr = $base->lastErrorCode();
echo "Erreur $errorNr au QUERY : $errorText<br>";
exit(1);
} |
Warning: SQLite3::query(): Unable to prepare statement: 1, no such table: titres in /home/clients/553bc940ea590f7857057a7f434a23bb/web/pcaweb/pcaweb_index.php on line 49
Erreur 1 au QUERY : no such table: titres
L'appli est en ligne ici : https://didiermorandi.fr/pcaweb/pcaweb_index.php
Merci.